Поделиться через


Сведения о GPUView

GPUView (GPUView.exe) — это средство анализа производительности, которое помогает разработчикам анализировать действия GPU и ЦП в системах Windows. Это полезно для диагностики проблем с производительностью в графических приложениях, таких как игры или мультимедийное программное обеспечение. Он установлен синструментария производительности Windows (WPT).

  • Разработчики основных компонентов видео могут использовать GPUView для определения производительности графического процессора и центрального процессора в отношении обработки буфера DMA и всей другой обработки видео на видеооборудовании.
  • Разработчики и тестировщики могут использовать GPUView для отображения различных типов событий, которые могут привести к необычным условиям, таким как сбои, задержки подготовки и низкая синхронизация.

GPUView считывает записанные видео и события ядра из файла журнала трассировки событий (.ETL) и отображает данные пользователю в графическом виде.

Краткое руководство по использованию GPUView

Чтобы использовать GPUView, сначала необходимо создать трассировку. Для этого:

  1. Откройте командную строку с правами администратора:

    • Введите "командная строка" в поле поиска меню «Пуск».
    • Щелкните правой кнопкой мыши значок командной строки и выберите "Запуск от имени администратора".
  2. В командной строке с повышенными привилегиями перейдите в каталог GPUView и введите следующую команду:

    Log.cmd

  3. Воспроизвести проблему производительности (не более 30 секунд до 1 минуты). Затем повторно введите ту же команду:

    Log.cmd

    Эта команда генерирует несколько файлов трассировки событий Windows (*.ETL). Эти различные потоки объединяются вместе в один файл с именем Merged.etl, который считывает GPUView.

  4. Используйте GPUView для просмотра результирующего файла Merged.ETL .

Ниже приведены некоторые примеры зарегистрированных событий:

  • Все переключения контекста ЦПУ, включая трассировку стека и причину переключения.
  • Все входы и выходы в режиме ядра и трассировка стека.
  • Все события GPU, записанные ядром графики DirectX, включая все отправки буфера команд, а также создание ресурсов, уничтожение, блокировку и привязку событий.
  • События, сообщаемые графическим драйвером, например время начала и окончания буфера команд, а также интервалы вертикальной синхронизации для каждого адаптера.
  • Многие другие системные события, которые могут повлиять на производительность, такие как ошибки страницы.

Вы также можете считывать файлы ETL с помощью XPerf. Однако он не понимает никаких событий, относящихся к GPU. Так как эти файлы журнала могут быть относительно большими, можно использовать Log m команду, которая пропускает многие из событий высокой частоты.

Дополнительную информацию можно найти на сайте Мэтью Фишера, Matt's Webcorner, где он рассказывает о создании GPUView.