Новые возможности средств профилирования производительности для WPF

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

Содержание

Значительно улучшенное средство Visual Profiler
Значительно улучшенное средство Perforator
Общие усовершенствования
Известные проблемы
Файлы для загрузки
Архив

Значительно улучшенное средство Visual Profiler

Средство Visual Profile обеспечивает следующие возможности.

1. Поиск
Поле поиска позволяет искать элементы в дереве элементов приложения. Все найденные элементы выделяются в дереве элементов желтым цветом. Поиск элементов можно выполнять по типу или имени элемента.

2. Критический путь
Пользователь может щелкнуть правой кнопкой мыши дерево элементов и выбрать команду Expand Hotpath («Развернуть критический путь»). Дерево будет развернуто, а в поддеревьях будут выделены элементы, потребляющие больше всего ресурсов процессора в данном поддереве.

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

4. Выделение цветом в целевом приложении
Если кнопка Overlay Window («Наложенное окно») нажата, пользователь может просматривать элементы выбранного поддерева и критического пути в целевом приложении.

Если эта кнопка нажата:

  1. Выбор элемента в дереве элементов средства Visual Profiler приводит к тому, что в целевом приложении будет отображаться желтый прямоугольник на этом элементе.
  2. Элементы критического пути выделяются в целевом приложении оттенками красного цвета. Интенсивность красного цвета в целевом приложении соответствует процентной доле загрузки процессора.

Ниже приведен пример внешнего вида целевого приложения.

Примечание. Использование этой функции может привести к снижению быстродействия целевого приложения. Кроме того, при выделении элементов в целевом приложении используются многослойные окна. Рекомендуется ознакомиться с этимблогом, чтобы получить последние исправления (или использовать ОС XP SP3 или Vista SP1).

5. Динамический просмотр
Если кнопка динамического просмотра нажата, в нижнем левом углу средства Visual Profiler отображается динамическое представление выбранного поддерева элементов. Если эта кнопка не нажата, отображается статическое изображение поддерева. В обоих случаях изображение изменяется при выборе другого элемента дерева.

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

6. Разделитель
Разделители позволяют изменять размеры различных областей отображения (например, областей дерева элементов и информации об элементе).

7. Ползунок длительности графика
Ползунок позволяет изменять объем собираемых данных в диапазоне от 4 секунд до 1 минуты.

8. Расширители
Расширители позволяют пользователю устранять нежелательный беспорядок на экране.

9. Представление дерева элементов
Для уменьшения беспорядка и повышения производительности можно с помощью меню View («Вид») управлять информацией, отображаемой в каждом узле дерева элементов.

Значительно улучшенное средство Perforator

Средство Perforator обеспечивает следующие возможности.

  1. Улучшенный интерфейс пользователя
    Средство Perforator имеет интуитивно понятный расширенный интерфейс пользователя.
  2. Хронологические данные
    • Средство Perforator может отображать хронологические графики частоты кадров, числа обновляемых прямоугольных областей в кадре, числа программных и аппаратных промежуточных целевых буферов визуализации и использования видеопамяти.
    • Ползунок длительности графика позволяет изменять объем собираемых данных в диапазоне от 3 секунд до 1 минуты.
    • Кнопка Capture Start/Pause («Начало/приостановка записи») позволяет пользователю приостанавливать и возобновлять сбор данных о производительности.
    • Ось значений (ось Y) хронологических графиков будет корректироваться автоматически.
  3. Обнаружение программных эффектов точечных рисунков
    Добавлен новый флажок для выделения в целевом приложении элементов, использующих устаревшие программные эффекты визуализации.
    В приложении, показанном на рисунке ниже, при отображении верхней кнопки используется эффект OuterGlowEffect. Этот эффект реализуется без аппаратного ускорения, поэтому кнопка окрашена в красный цвет.
    При отображении нижней кнопки используется эффект DropShadow с аппаратным ускорением (аппаратное ускорение эффекта DropShadow появилось в пакете обновления SP1 для .Net 3.5), поэтому кнопка не выделена красным цветом.

Известные ограничения

  • Необходимо принудительно перерисовать целевые элементы после установки этого флажка, чтобы элемент был выделен красным цветом (например, навести указатель мыши на элемент, если это стандартная кнопка).
  • Средство Perforator должно быть запущено до запуска приложения.

Общие усовершенствования

  • Устранено большое количество ошибок.
  • Добавлена возможность подключения к приложениям XBAP, а не только к автономным приложениям WPF.
  • Усовершенствовано окно добавления инструментов. Пользователь может одновременно выбрать несколько инструментов.

  • Улучшен интерфейс пользователя в диалоговом окне выбора процесса. Пользователь может выбрать в нем целевое приложение для профилирования.

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

Известные проблемы

  1. Общие проблемы
    Не следует одновременно использовать более одного инструмента (например, Visual Profiler и Perforator) для профилирования одного приложения, поскольку это приводит к снижению быстродействия приложения.
  2. Perforator/Обнаружение программных эффектов точечных рисунков
    После установки флажка Detect SW rendered Bitmap Effects («Обнаруживать программные эффекты точечных рисунков») необходимо принудительно перерисовать целевые элементы, чтобы они были выделены красным цветом.
  3. Perforator/Наложенное окно
    При выделении элементов в целевом приложении используются многослойные окна. Рекомендуется ознакомиться с этим блогом, чтобы получить последние исправления (или использовать ОС XP SP3 или Vista SP1).
  4. Perforator/Динамический просмотр
    Для динамического просмотра используется элемент Visual brush, поэтому при использовании средства Perforator для профилирования этого же приложения число аппаратных промежуточных целевых буферов визуализации увеличивается на 1.
  5. Perforator/Visual Profiler
    Пользователь может подключиться к приложению XBAP (путем подключения к файлу PresentationHost.exe), но не может запускать приложение XBAP.
  6. Perforator/Visual Profiler
    Необходимо запустить средство Perforator до запуска приложения.

Файлы для загрузки

Средство WpfPerf tool сейчас входит в состав Microsoft Windows SDK for Windows 7 и .NET Framework 3.5 SP1. После установки пакета SDK в меню «Пуск» выберите команды Microsoft Windows SDK v7.0/Tools/Install Windows Performance Tool Kit («Установить набор средств для профилирования производительности»). В меню «Пуск» появится раздел WPF Performance Suit («Набор средств профилирования производительности WPF»).

Архив

Предыдущую версию средств WpfPerf можно загрузить здесь, документацию здесь.