msdevcon.ru#msdevcon
ПРОФИЛИРОВАНИЕ WINDOWS STORE ПРИЛОЖЕНИЙ Филипп Панфилов Mail.Ru Group
Для чего тратить время на оптимизацию приложения? Быстродействие приложений Это интересно! Время автономной работы устройств
Ориентируйтесь на железо пользователей
Инструменты для профилирования Включение счетчиков fps Отображение карты перерисовок Использование профайлера Xperf + Windows Performance Analyzer
Матчасть Независимые анимации UI поток строит дерево анимации Поток Compositor исполняет анимацию Зависимые анимации UI поток строит дерево анимации Каждый кадр анимации компонуется в UI потоке и передается в Compositor Compositor отрисовывает каждый кадр отдельно
Включение счетчиков fps fps потока Compositor fps UI потока Использование памяти Количество пакетов, отправленных GPU Время в потоке Compositor (мс) Время в UI потоке (мс) App.Current.DebugSettings.EnableFrameRateCounter = true;
Отображение карты перерисовок App.Current.DebugSettings.IsOverdrawHeatMapEnabled = true;
DEMO ИСПОЛЬЗОВАНИЕ DEBUGSETTINGS EnableFrameRateCounter IsOverdrawHeatMapEnabled
Использование профайлера Поиск «горячих путей» (Hot path) Просмотр графов вызовов функций (Call graph views) Список функций (Functions With Most Individual Work)
Отчет профайлера до оптимизации
Отчет профайлера после оптимизации
DEMO ПРОФИЛИРОВАНИЕ ПРИЛОЖЕНИЯ Visual Studio 2012
Запуск приложения Парсинг XAMLApp()App.OnLaunched() Конструктор первой страницы
Профилирование XAML xperf -start xaml_user -on "Microsoft-Windows-XAML::5"+perftrack %UserOptions% xperf -on base+cswitch %KernelOptions% Системная информация и отладочные символы xperf Стек вызовов приложения Стек вызовов ядра Объединенный стек вызовов
DEMO ПРОФИЛИРОВАНИЕ XAML Xperf+ Windows Performance Analyzer
Связанные сессии D07 Лучшие практики обеспечения производительности Windows Store приложений D09 Разработка в асинхронной парадигме в Windows Runtime – лучшие практики C10 Оптимизация производительности Windows Phone приложений
Контакты Филипп Панфилов Mail.Ru Group & ponfius.com
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.