Microsoft TechDayshttp://www.techdays.ru Роман Здебский Эксперт по технологиям разработки ПО Microsoft rzdebski@microsoft.com http://blogs.msdn.com/roman.

Презентация:



Advertisements
Похожие презентации
Microsoft TechDays Роман Здебский Эксперт по технологиям разработки ПО Microsoft.
Advertisements

Microsoft TechDays Роман Здебский Microsoft
Разработка интерактивных приложений – Windows Presentation Foundation и Silverlight Р.Б. Здебский, М.В. Черномордиков Эксперты по технологиям разработки.
Windows Presentation Foundation 3.5 SP1-новые возможности разработки интерактивных клиентских приложений. Роман Здебский Microsoft
Клиентские технологии Silverlight 3, Internet Explorer 8 Гайдар Магдануров t: e:
Михаил Черномордиков Developer Evangelist, Microsoft Россия
III Санкт-Петербургская интернет-конференция СПИК– июня 2008 г. САНКТ-ПЕТЕРБУРГ Всероссийский Интернет- МАРАФОН САНКТ-ПЕТЕРБУРГ,
Microsoft TechDays Александр Шер Разработчик ООО «Айко»
Microsoft TechDays Александр Шер Разработчик ООО «Айко»
Александр Гарибов MCP-клуб Белгород 25 февраля 2011 г.
Платформа разработки ASP.NET Гайдар Магдануров t: e: m: +7.
Визуализация и моделирование с использованием UML в Visual Studio 2010 Ultimate Евгений Чигиринский Microsoft.
Microsoft TechDays Михаил Черномордиков Developer Evangelist, Microsoft
Роман Здебский Руководитель группы экспертов Microsoft Россия
Microsoft TechDays Сергей Попов Независимый разработчик.
Кузнецов С.А. 318 гр. МФТИ 2009 Научный руководитель: С.С. Чикова, к.м.н.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Создание мультимедийной презентации В рамках создания тематического учебного проекта.
Возможности применения Windows Presentation Foundation и Silverlight 2.0 Андрей Скляревский Developer, Murano Software Microsoft.
Microsoft TechDays Цыганов Федор Softline.
Транксрипт:

Microsoft TechDayshttp:// Роман Здебский Эксперт по технологиям разработки ПО Microsoft

Microsoft TechDayshttp:// Почему абсолютно все сразу не начинают использовать только новые замечательные технологии?

Microsoft TechDayshttp:// Широта использования Производительность Наработки и лучшие практики

Microsoft TechDayshttp:// Cэкономить вам много времени Защитить от ошибок Как правильно Как неправильно

Microsoft TechDayshttp:// Usability или удобство пользователя при использовании WPF Производительность в WPF Лучшие практики использования возможностей WPF

Microsoft TechDayshttp://

WPF Toolkit Финальный релиз! CTP Visual State Manager WPF.NET 4.0 Multi-touch Deep Zoom Visual State Manager Text

Microsoft TechDayshttp:// Очень много на Новые приложения на WPF – AutoCad 2009Inventor 2009

Microsoft TechDayshttp://

Источник: http://

Microsoft TechDayshttp://

Важный пункт 1 Важный пункт 2 Самый Важный пункт 3 Параметр1Парамер2Параметр3Параметр

Microsoft TechDayshttp://

Microsoft TechDayshttp:// Windows Vista User Experience Guidelines Designing with Windows Presentation Foundation Не начинайте с того что можно сделать на технологии, а с того, что действительно нужно вашим пользователям. Перед тем как добавить «стильный» функционал, подумайте, на каким сценариям работы он будет помогать.

Microsoft TechDayshttp:// Интерфейс выглядит стильно когда: Функционал действительно нужен пользователю Эстетика реализована в небольших деталях. Обеспечено повышенное удобство не в ущерб производительности. Положительные эмоции остаются даже на 100-ый раз просмотра Интерфейс НЕ выглядит стильно когда: Использованы эффекты технологии, только потому что она так может! Эффекты отвлекают внимание и нарушают удобство, процессы работы и производительность Надоедливость

Microsoft TechDayshttp:// Ключевые факторы: Частота использования Профессиональность пользователей Эмоциональный контекст Ожидания пользователей Концентрация внимания на нужных элементах Использование анимаций для интуитивного привлечения внимания на следующие шаги или контекстные действия – менее полсекунды Скорость анимаций не должна снижать производительность труда - ускорение анимации для опытных пользователей Использование аналогов реального мира для упрощения обучения Software branding – небольшие детали Привлеките профи в дизайне, если требуется

Microsoft TechDayshttp://

System.Windows.Media.RenderCapability.Tier Tier DirectXVideoCards 0Version

Microsoft TechDayshttp://

Performance Profiling Tools for WPF - детальная отладка производительности Snoop – быстрый просмотр структуры визуального дерева

Microsoft TechDayshttp:// Показатели приложение в целом Потребление видео памяти Аппаратный и программный рендеринг Определение проблемных зон программного рендеринга FPS (frames per second)

Microsoft TechDayshttp:// Растровые графические эффекты До версии 3.5 SP1 использовали только software rendering BlurBitmapEffect и DropShadowBitmapEffect в версии 3.5 SP1 – аппаратное ускорение Замена эффектов на аппаратные - BlurEffect, DropShadowEffect Могут существенно влиять на производительность!

Microsoft TechDayshttp:// Исправление software rendering

Microsoft TechDayshttp:// Иерархическое представление структуры визуализации Количество и вложенность элементов влияет на производительность Следует избегать избыточной вложенности контейнеров (StackPanel, Grid, WrapPanel…) При выводе большого набора данных количество элементов может стать огромным Контролируйте использование шаблонов элементов управления (templates) Упрощенное представление дерева в проекте

Microsoft TechDayshttp:// Детальный анализ производительности конкретных элементов пользовательского интерфейса Возможность анализа производительности иерархии визуального дерева

Microsoft TechDayshttp:// Производительность визуального дерева

Microsoft TechDayshttp:// Возможность автоматически уничтожать элементы визуального дерева вышедшие из зоны видимости и … … создавать входящие в зону видимости ListView, ListBox, TreeView и DataGrid Следите за возможным отключением виртуализации в ListBox/ListView: Проверьте, что ScrollViewer.CanContentScroll=True Проверьте, что VirtualizingStackPanel.IsVirtualizing=True Избегайте группировок, при большом числе элементов Используйте VirtualizingStackPanel при написании своих контролов …или напишите собственную. Container Recycling в WPF 3.5 SP % производительности за счет повторного использования элементов визуального дерева без их уничтожения и создания заново

Microsoft TechDayshttp:// Просмотр структуры визуального дерева Количество элементов Свойства элементов Поиск элементов ( ошибок binding ) События (events) Zoom 3D Zoom

Microsoft TechDayshttp:// Контроль визуального дерева и виртуализации

Microsoft TechDayshttp:// Страшная тайна про Outlook Позволяет максимально увеличить скорость скроллинга ScrollViewer.IsDeferredScrollingEnabled="True"

Microsoft TechDayshttp://

Добавление Splash Screen

Microsoft TechDayshttp:// Optimizing WPF Application Performance Performance Profiling Tools for WPF - детальная отладка производительности Improving Scrolling Performance in WPF 445f-b709-7f34437d8b21/Scrolling_in_WPF.doc

Microsoft TechDayshttp://

Улучшение четкости линий на экранах с низким разрешением WPF использует независимые единицы позиционирования и anti-aliasing SnapsToDevicePixels="True" Единица измерения – px (default) is device- independent units (1/96th inch per unit)

Microsoft TechDayshttp:// Тексты также рассчитаны на высокое качество вне зависимости от устройства Используется ClearType и SubPixel Anti-Aliasing Но мониторах слабого разрешения текст может выглядеть мягче Используйте адаптированные шрифты: Cambria, Calibri, Corbel, Candara, Consolas...) Измените настройки ClearType Подробнее -

Microsoft TechDayshttp:// SnapToDevicePixels

Microsoft TechDayshttp://

Архитектурная идея WPF – превалирование свойств над методами При связывании с данными (Binding) используйте ObjectDataSource XMLDataSource Старайтесь меньше использовать императивный подход определения связывания из кода Дизайнеры смогут вам очень помочь

Microsoft TechDayshttp:// Возможность декларативно определить способ представления повторяющихся данных в виде шаблона ListBox/ListView, TreeView и др. Сценарии шаблонов Линейные Иерархические

Microsoft TechDayshttp:// Ресурсы могут присутствовать на разных уровнях Элемент, Контейнер (Grid, StackPanel …), Главный визуальный контейнер (Окно, Страница), Приложение (App.xaml), Ресурсный словарь Упрощают повторное использование визуальных и программных ресурсов в декларативном представлении Стилей (Styles), Шаблонов элементов управления (Control Templates), шаблонов данных (Data Templates), кистей и пр.

Microsoft TechDayshttp:// Шаблоны данных и ресурсы Data Templates

Microsoft TechDayshttp:// Инвестируя время в декларативное представление вы выигрываете за счет привлечения дизайнера или самостоятельного использования Expression Элементы пользовательского интерфейса выходят за рамки жестких визуальных границ и становятся поведенческими моделями с произвольной визуализацией Легкость в создании вложенных элементов управления, приводит к меньшей необходимости создания User Controls – необходимость их создания диктуется теперь более поведенческой моделью, нежели визуальной

Microsoft TechDayshttp:// Usability или удобство пользователя при использовании WPF Производительность в WPF Лучшие практики использования возможностей WPF

Microsoft TechDayshttp:// WindowsClient.net Optimizing WPF Application Performance Performance Profiling Tools for WPF - детальная отладка производительности Windows Vista User Experience Guidelines Designing with Windows Presentation Foundation

Microsoft TechDayshttp:// Роман Здебский Эксперт по технологиям разработки ПО Microsoft