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).

Рис. 13. Профилирование приложения Рис. 13. Профилирование приложения

После выполнения необходимых сценариев работы приложения следует остановить анализ производительности приложения, и приложение Visual Studio начнет формирование отчета производительности приложения. Результатом будет следующий отчет (рис. 14, 15).

Рис. 14. Процесс формирования отчета о
                    производительности приложения Рис. 14. Процесс формирования отчета о производительности приложения
Рис. 15. Отчет о производительности приложения Рис. 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).

Рис. 16. Счетчик кадров Рис. 16. Счетчик кадров

Первое значение слева показывает количество кадров, обрабатываемых в секунду в потоке компоновщика, то есть на GPU видеокарты. Второе число – количество кадров в секунду, которое обрабатывает центральный процессор. Третье – использование памяти приложением. Последние два значения отображают время в миллисекундах для потока компоновщика и интерфейсного потока соответственно.

Таким образом, используя рассмотренные выше способы контроля работоспособности и анализа производительности приложения, мы можем стабилизовать его работу и предоставить пользователям продукт высокого качества.

Пример: