3.3 Повышение Производительности Приложений
Для того, чтобы понять, в каких местах или при каких сценариях производительность приложения низкая, необходимо использовать соответствующие инструменты, которые позволяют получить информацию об использовании ресурсов устройства вашим приложением. Такие инструменты называются профайлерами, и Visual Studio 2011 Express содержит в своем составе.
Инструменты профилирования приложений для Windows Store в Visual Studio 2011 Express позволяют измерять значения и определять ключевые моменты работы наших приложений. Профайлер собирает временную информацию приложений, написанных на Visual C++, Visual C# и Visual Basic, используя соответствующие методы, которые вызываются через определенный интервал в соответствии со стеком вызовов ЦПУ. Графическое отображение результатов профилирования легко позволяет найти нужное место в приложении и определить производительность его отдельных частей. У нас есть возможность профилировать приложение от момента его запуска и до остановки или же запускать профилирование только в интересующих нас сценариях.
Во время профилирования приложения желательно выбирать для него тип сборки Release,потому что именно в этом типе сборки приложение по своему содержимому больше всего похоже на то, которые пользователь поставит себе из Microsoft Store.
Для запуска профилирования приложения выберите в главном меню Visual Studio пункт Debug–> Start Performance Analysis или нажать комбинацию клавиш Alt+F12 (рис. 13).
После выполнения необходимых сценариев работы приложения следует остановить анализ производительности приложения, и приложение Visual Studio начнет формирование отчета производительности приложения. Результатом будет следующий отчет (рис. 14, 15).
Другой механизм отслеживания работы приложения – это включение счетчиков кадров. В текущей версии это делается путем изменения ключей в регистре:
-
для 32–битной Windows 8:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Xaml] «EnableFrameRateCounter»=dword:00000001 -
– для 64–битной Windows 8:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Xaml] «EnableFrameRateCounter»=dword:00000001
После изменения соответствующего ключа в реестре системы при запуске приложения будут отображаться счетчики кадров (рис. 16).
Первое значение слева показывает количество кадров, обрабатываемых в секунду в потоке компоновщика, то есть на GPU видеокарты. Второе число – количество кадров в секунду, которое обрабатывает центральный процессор. Третье – использование памяти приложением. Последние два значения отображают время в миллисекундах для потока компоновщика и интерфейсного потока соответственно.
Таким образом, используя рассмотренные выше способы контроля работоспособности и анализа производительности приложения, мы можем стабилизовать его работу и предоставить пользователям продукт высокого качества.