Опубликован: 01.11.2011 | Доступ: свободный | Студентов: 1424 / 63 | Оценка: 3.84 / 3.44 | Длительность: 15:38:00
Специальности: Программист
Практическая работа 28:

Знакомство с профилировщиком Windows Phone OS 7.1

Аннотация: Профилировщик Windows Phone позволяет разработчикам измерять и оценивать производительность своего кода. Этот интегрированный с Visual Studio инструмент, позволяют создавать профессиональные и удобные для пользователей приложения.

Профилировщик Windows Phone позволяет разработчикам измерять и оценивать производительность своего кода. Этот интегрированный с Visual Studio инструмент, позволяют создавать профессиональные и удобные для пользователей приложения.

Профилирование телефонного приложения делается несложно. Начать нужно с создания новой сессии определения производительности. После завершения сессии производительности, данные, собранные в ходе проверки производительности сохраняются в файле с расширением .sap и становятся доступными для просмотра в среде разработки. Эти данные позволяют просмотреть различные уровни структуры приложения от строк исходного кода до процессов и вызовов функций, представленных в виде дерева приложения.

Сбор данных

  1. Откройте проект Windows Phone в Visual Studio, щелкните по меню Debug, щелкните по пункту Windows Phone Performance Analysis.

  2. Выберите пункт Windows Phone Emulator и нажмите мышкой на пункт Start Windows Phone Performance Analysis. Появится следующее меню:
    Выберите пункт Execute (visual and functional call counts) и нажмите на кнопку Launch Application. После запуска приложения начнется сбор данных и запись результатов измерений в журнал.

  3. После завершения взаимодействия с приложением нужно вернуться в Visual Studio, отобразить файл и нажать на кнопку Stop Profiling.
  4. В .sap-файле появится шкала времени с результатами измерений кадровой частоты, степени использования процессора, оперативной памяти, анимаций, загрузки изображений и сборщика мусора:

Если выделить определенный временной отрезок, то можно прочитать комментарии профилировщика. В рассматриваемом примере сообщается о высоком проценте использования центрального процессора.

Профилировщик Windows Phone отображает результаты профилирования сессии двумя способами:

  1. визуально в виде графика,
  2. в виде отчета, содержащего строки детализированных данных в сортируемых столбцах или в виде иерархического дерева.

Расшифруем назначение строк графика оценки производительности.

Таблица 38.1. Назначение строк графика
Строка графика Описание
Кадровая частота Эта информация доступна для периода, когда приложение производит обновление экрана. В норме должно быть 60 кадров в секунду.
Использование процессора Ресурсоемкими приложениями являются обработка сигналов, поступающих от сенсорного экрана и обновление экрана. Желательно, чтобы степень использования процессора не превышала 50%.
Использование памяти Величина памяти, используемой приложениями. Измеряется в мегабайтах.
Раскадровка Отображает на шкале времени моменты запуска анимации.
Загрузка изображений Отображает на шкале времени загрузку изображений в память телефона
События сборщика мусора Отображает на шкале времени срабатывание события сборщика мусора

Отчеты производительности и просмотр данных анализатора

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