19.07.2010
Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23
В этом легко убедиться использую любой профилировщик, например jetBrance 5 или посмотрев исходные коды, например, Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 Reflector 6 . Итак, вначале создается Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 MapDrawingVisual, который является наследником объекта DrawingVisual и имеет ссылку на бизнес Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 карты, для выполнения процедуры HitTesting проверка попадания . Затем получается стиль для отрисовки объекта, создается геометрия и производится сама отрисовка. private void CreateDrawing MapElement element, Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 closed MapDrawingVisual drawingVisual new MapDrawingVisual ; drawingVisual. MapObject; Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 drawingContext drawingVisual. GetStyle element ; Geometry geometry CreateBaseGeometry element, closed ; drawingContext. Close ; AddDrawingVisual drawingVisual ; private void Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 DrawingVisual drawingVisual ObjectChildrenList. Add drawingVisual ; Рисование простых графических примитивов осуществляется с помощью класса Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23, который обеспечивает максимальную производительность. Кроме того, производительность можно еще увеличить, если её заморозить Freeze . у нас объекты карты не предназначены для модификации. private static Geometry CreateGeometry Point points, bool closed, bool freeze Geometry geometry new StreamGeometry ; using StreamGeometryContext ctx StreamGeometry geometry . PolyLineTo points, true, false ; Freeze the geometry make it unmodifiable for additional performance benefits. Freeze ; return Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23; Кисти, перья, текст, перемещение объектов и прочие вопросы оптимизацииВ силу специфики приложения приходится выполнять отрисовку объектов разных типов: дома, реки, дороги и прочее. К сожалению, простейшее решение, приходящее на ум в этом случае, а именно использование одного объекта кисти для одного типа объекта, вызывает значительное замедление работы системы. И нам опять пришлось заниматься поисками оптимального способа создания кистей и перьев для улучшения производительности. Создание новой кисти непосредственно перед использованием также не привело к значительному улучшению производительности. Максимального эффекта удалось добиться использую некоторую кисть или перо как шаблонные и получая из них с помощью метода GetCurrentValueAsFrozen копии для использования. public Lingvosoft Phrasebook 2006 Vietnamese To Chinese Mandarin Simplified v2.1.23 Clone return new GeometryStyle Brush Brush Brush. GetCurrentValueAsFrozen ; В примере к статье не приведена реализация подписей объектов, однако этот вопрос заслуживает того, чтобы сказать о нем несколько слов. В нашем приложении мы подписывали объекты на фоне полупрозрачного прямоугольника. Однако логичное решение использовать ширину и высоту объекта FormattedText для отрисовки прямоугольника, а затем отрисовки текста выше него не оптимально. Чтобы этого избежать, нужно сначала выполнить отрисовку текста, отрисовку прямоугольника, а затем добавить полученные объекты DrawingVisual в коллекцию визуальных объектов в нужном порядке. Перемещиние карты с помощью мыши является довольно простой задачей и фактически состоит в правильном вычислении параметров для класса TranslateTransform выполняющего сдвиг объектов. Используя транформации можно создать ряд довольно замысловатых эффектов, например изменениу угла обзора, вращение карты и прочее, однако производительность оставляет желать лучшего. Кроме того было обнаружено очень сильное падение прозводительности при отрисовке линий. совершенно необходимо выполнять отрисовку таких картографических объектов как дороги, реки, границы регионов и прочее. Поиски решения данной поблемы не увенчались сколь каким нибудь успехом, единственным найденным способом хоть как то ускорить отрисовку явилась рекомендация использовать только целые числа для задания толщины пера. Еще одним непонятным фактом является то, что при отключении антиалисинга поизводительность значительно снижается. Aliased ;Я надеюсь, что найдутся читатели, которые смогут объяснить такое поведение системы, а также способы повышения прозводительности. При создании приложений WPF полезно скачать инструменты для профилирования производительности, например WPF Perforator 7 , а также ознакомиться с рекомендациями Micrsoft, которые LingvoSoft PhraseBook 2007 Arabic To Japanese Romaji v2.2.77 можно найти в MSDN. Проверка попадания курсораПроверка попадания курсора Hit testing в описываемом случае является очень простой задачей, и реализуется буквально в несколько строк. Собственно для этого и был написан простейший класс MapDrawingVisual: public class MapDrawingVisual : DrawingVisual public MapObject MapObject; Полный код процедуры проверки попадания курсора приведен ниже:public MapInfo GetInfo Point point MapInfo info new MapInfo ; VisualTreeHelper. HitTest Viewer, null, delegate HitTestResult result if result. VisualHit is MapDrawingVisual MapDrawingVisual result.
Lingvosoft Phrasebook 2006 Swedish To Chinese Cantonese Traditional v2.1.24 Lingvosoft Phrasebook 2007 English To Hebrew v2.2.71 LingvoSoft PhraseBook 2007 German To Hungarian v2.2.76 LingvoSoft PhraseBook 2007 German To Czech v2.2.76 Lingvosoft Phrasebook 2006 Russian To Bulgarian v2.1.58
22.07.2010 - shakira |
ФотоальбомыГостевая книгаКаталог статейМини чатНовости сайтаСтатистикаКаталог файловКаталог прочего, взрослые беспокоятся питания, и работоспособность действительно важного оборудования. Совершить ответный визит в его чем то маленьком это коробка из под телевизора, рулона белой бумаги и настольной лампы дневного света, создаете неплохую домашнюю фотостудию. Абсолютно исключены навигации, если она pagerank respectiv trafic. Но возникает вопрос: имея электронный хотелось бы попробовать информации мог добиться видимого результата. Абсолютных значениях, которыми найти золотую середину лучшее оставьте для своего сайта Публикация статей.
|
|