Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Используйте профилировщик временной шкалы приложений , чтобы найти и устранить проблемы с производительностью, связанные с взаимодействием с приложениями XAML. Это средство помогает повысить производительность приложения XAML, показывая подробное представление потребления ресурсов приложений. Вы можете проанализировать время, затраченное приложением на подготовку кадров пользовательского интерфейса (макет и отрисовку), обслуживание сетевых и дисковых запросов, а также в таких сценариях, как запуск приложения, загрузка страницы и изменение размера Windows.
Шкала времени приложения — это один из инструментов, которые можно запустить с помощью команды "Отладка> и Профилировщик производительности".
Это средство заменяет инструмент XAML UI Responsiveness, который был частью набора средств диагностики в более ранних версиях Visual Studio.
Это средство можно использовать на следующих платформах:
- Универсальные приложения Windows (в Windows 10 и более поздних версиях)
- Windows 8.1
- Windows Presentation Foundation (.NET 4.0 и выше)
- Windows 7
Замечание
Вы можете собирать и анализировать данные об использовании ЦП и данные потребления энергии вместе с данными ApplicationTimeline . См. Запуск средств профилирования на сборках для выпуска или отладки.
Сбор данных временной шкалы приложения
Вы можете профилизировать скорость реагирования приложения на локальном компьютере, подключенном устройстве, симуляторе Visual Studio или эмуляторах или удаленном устройстве. См. Запуск средств профилирования на сборках release или debug.
Подсказка
По возможности запустите приложение непосредственно на устройстве. Производительность приложения, наблюдаемая на симуляторе или через подключение к удаленному рабочему столу, может не совпадать с фактической производительностью на устройстве. С другой стороны, сбор данных с помощью удаленных средств Visual Studio не влияет на данные производительности.
Ниже перечислены основные шаги.
Откройте приложение XAML.
Щелкните "Отладка" или "Профилировщик производительности". Вы увидите список инструментов профилирования в окне .diagsession.
Выберите временную шкалу приложения и нажмите кнопку "Пуск " в нижней части окна.
Замечание
Может появиться окно управления учетными записями пользователей, запрашивающее разрешение на запуск VsEtwCollector.exe. Нажмите кнопку Да.
Запустите сценарий, который вы хотите профилировать в приложении, чтобы собирать данные о производительности.
Чтобы остановить профилирование, вернитесь в окно диагсессии и нажмите кнопку "Остановить " в верхней части окна.
Visual Studio анализирует собранные данные и отображает результаты.
Анализ временной шкалы данных профилирования
После сбора данных профилирования можно выполнить следующие действия, чтобы начать анализ:
Просмотрите сведения в графах использования потоков пользовательского интерфейса и диаграммы визуальной пропускной способности (FPS), а затем используйте панели навигации временной шкалы для выбора диапазона времени, который требуется проанализировать.
Используя сведения в графиках использования потоков пользовательского интерфейса или визуальной пропускной способности (FPS), изучите представление 'Детали временной шкалы', чтобы выявить возможные причины кажущейся потери отзывчивости.
Сценарии отчетов, категории и события
Средство временной шкалы приложений отображает данные о времени для сценариев, категорий и событий, связанных с производительностью XAML.
Временная шкала сеанса диагностики
Линейка в верхней части страницы отображает временную шкалу для профилированных сведений. Эта временная шкала применяется как к графу использования потоков пользовательского интерфейса , так и к графу пропускной способности визуальных элементов . Чтобы выбрать сегмент временной шкалы, можно сузить область отчета, перетащив панели навигации на временной шкале.
Временная шкала также отображает все пользовательские метки, которые вы вставляете, и события жизненного цикла активации приложения.
График использования потоков пользовательского интерфейса
График использования потоков пользовательского интерфейса (%) — это линейчатая диаграмма, отображающая относительное время, затраченное на категорию в течение диапазона коллекции.
График визуальной пропускной способности (FPS)
Линейный график визуальной пропускной способности (FPS) показывает количество кадров в секунду (FPS) в пользовательском интерфейсе и в потоке компоновки, относящихся к приложению.
Сведения о временной шкале
Подробный просмотр – это то место, где вы проводите большую часть времени, анализируя отчет. В нем показано использование ЦП приложением, классифицированным подсистемой UI Framework или системным компонентом, который использовал ЦП.
Поддерживаются следующие события:
| Имя | Description |
|---|---|
| Анализ | Время, затраченное на анализ ФАЙЛОВ XAML и создание объектов. Раскрытие узла синтаксического анализа в сведениях о временной шкале отображает цепочку зависимостей всех файлов XAML, которые были проанализированы в результате корневого события. Этот совет позволяет определить ненужный анализ файлов и создание объектов в сценариях с учетом производительности и оптимизировать их. |
| Макет | В больших приложениях тысячи элементов могут отображаться на экране одновременно. Это может привести к низкой частоте кадров пользовательского интерфейса и, соответственно, низкой скорости отклика приложения. Событие Layout точно определяет затраты на размещение каждого элемента (то есть время, затраченное на Arrange, Measure, ApplyTemplate, ArrangeOverride и MeasureOverride). Он также создает деревья визуальных элементов, которые приняли участие в процессе обработки компоновки. С помощью этой визуализации можно определить, какие логические деревья следует подрезать, или оценить другие механизмы отсрочки для оптимизации прохождения по макету. |
| Render | Время, затраченное на рисование элементов XAML на экран. |
| I/0 | Время, затраченное на получение данных из локального диска или из сетевых ресурсов, к которым обращается API Microsoft Windows Internet (WinINet). |
| Код приложения | Время, затраченное на выполнение кода приложения (пользователя), который не связан с анализом или макетом. |
| Xaml Other | Время, затраченное на выполнение кода среды выполнения XAML. |
Подсказка
Выберите средство использования ЦП вместе с средством временной шкалы приложения при запуске профилирования, чтобы просмотреть методы приложения, выполняемые в потоке пользовательского интерфейса. Перемещение длительного кода приложения в фоновый поток может повысить скорость реагирования пользовательского интерфейса.
Настройка сведений о хронологии
Используйте панель инструментов сведений о временной шкале для сортировки, фильтрации и указания аннотаций записей представления сведений о временной шкале.
| Имя | Description |
|---|---|
| Сортировать по | Сортировка по времени начала или продолжительности событий. |
|
Добавляет или удаляет категорию кадра верхнего уровня, которая группирует события по кадру. |
|
Фильтрует список по выбранным категориям и длине событий. |
|
Позволяет указать аннотации к событиям. |
Связанный контент
- Блог группы WPF: новый инструмент анализа производительности пользовательского интерфейса для приложений WPF
- Рекомендации по производительности приложений UWP с помощью C++, C#и Visual Basic
- Оптимизация производительности приложения WPF
- Профилирование в Visual Studio
- Первый взгляд на средства профилирования