Просмотр профиля системы

В Android GPU Inspector (AGI) вы можете просматривать и анализировать системный профиль в пользовательском интерфейсе System Profiler. После профилирования системы и открытия файла трассировки в AGI, System Profiler отобразит данные профилирования на временной шкале с раскрывающимися элементами, отображающими дополнительные сведения.

К основным элементам пользовательского интерфейса системного профилировщика относятся следующие:

  • Панель инструментов

  • Временная шкала : указывает временной промежуток событий трассировки.

  • Панель «Дорожка» : отображает данные профилирования относительно временной шкалы.

  • Панель сведений : расширяемая панель, отображающая подробную информацию о выбранном элементе.

Данные профилирования

В файле трассировки данные профилирования хранятся в виде событий с метками времени, называемых событиями трассировки. События трассировки состоят из различных типов фрагментов и счетчиков. Например, события трассировки ЦП включают фрагменты планирования, а события трассировки ГП — счетчики производительности ГП и фрагменты потоков.

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

треки графического процессора

На дорожках GPU отображается информация о профилировании графического процессора. Вот основные типы дорожек GPU:

  1. Отслеживание очереди GPU : активность приложения на графическом процессоре.

  2. Счетчики графического процессора : Аппаратные счетчики графического процессора, показания которых считываются через периодические интервалы времени.

  3. Отслеживание событий Vulkan : События, связанные с API Vulkan.

  4. SurfaceFlinger Tracks : События SurfaceFlinger, указывающие на то, как графические буферы перемещаются по системе.

Отслеживание очереди графического процессора

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

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

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

Вы можете присваивать этим объектам удобные для пользователя имена, чтобы легко идентифицировать их в трассировке вместе с их дескрипторами, используя функцию vkSetDebugUtilsObjectNameEXT из расширения VK_EXT_debug_utils или функцию vkDebugMarkerSetObjectNameEXT из расширения VK_EXT_debug_marker . Оба расширения реализованы AGI и доступны вашему приложению во время трассировки.

Счетчик графического процессора отслеживает

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

Доступные счетчики зависят от аппаратного обеспечения. Краткое описание каждого счетчика можно просмотреть, наведя курсор на название трека. Подробнее см. в разделе «Счетчики производительности GPU» .

трек событий Vulkan

Трек событий Vulkan отображает события API Vulkan, записанные во время трассировки. Типы событий в треке — это в основном события отправки в очередь (вызовы vkQueueSubmit ). При щелчке по событию отправки в очередь AGI выделяет фрагменты активности GPU, связанные с этим вызовом. Вы можете использовать эти данные для анализа асинхронной работы, поставленной в очередь вызовами API Vulkan, и задержки между ЦП и ГП.

Отслеживание SurfaceFlinger

SurfaceFlinger отслеживает жизненный цикл графических буферов (целей рендеринга цепочки обмена приложения) по мере их перемещения по системе до момента отображения. События агрегируются по буферам, что упрощает отслеживание накладных расходов и задержки, необходимых для получения и отправки буферов.

Взаимодействие с данными профилирования

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

Приколоть

Вы можете закреплять треки и группы треков, используя кнопку закрепления.

Свернуть и развернуть

Некоторые треки и все группы треков можно свернуть. В некоторых группах треков в свернутом виде отображается сводная информация. Например, в свернутом виде группа треков ЦП показывает общее использование ЦП в виде графика.

Зум

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

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

Просмотреть подробности

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

Выберите временной диапазон

Вы можете выбрать временной диапазон, что позволит сравнивать события трассировки с разных дорожек. Для этого включите режим «Время» и перетащите курсор, чтобы выбрать диапазон. Все, что находится за пределами этого диапазона, будет затемнено, а будет отображаться длительность диапазона.

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

Перемещаться по элементам в панели дорожек можно с помощью клавиш WASD , а также прокрутки и перемещения. System Profiler использует те же сочетания клавиш и мыши, что и Systrace . Доступные сочетания клавиш включают следующее:

  • Для масштабирования используйте клавиши W и S , или Ctrl++ и Ctrl+- .
  • Стрелки A и D , или стрелки left и right перемещают изображение влево и вправо.
  • Буквы Q и E , или стрелки up и down позволяют перемещать дорожки.
  • Удерживание клавиши shift увеличивает скорость перемещения при навигации.
  • Ctrl + прокрутка увеличивает масштаб выбранного элемента.
  • Клавиша F увеличивает масштаб выбранного элемента.
  • Z + 0 сбрасывает значение и полностью уменьшает масштаб.
  • Кнопка V переключает подсветку VSync, если она доступна в трассировке.
  • M обозначает текущий выбор, указывая соответствующий временной диапазон.
  • H или ? обозначает шпаргалку с сочетаниями клавиш и мыши.

Панель инструментов содержит кнопки, переключающие режимы навигации, которые определяют действие, выполняемое при перетаскивании элементов в область дорожки. Вы также можете выбрать следующие режимы навигации, нажав клавиши 1 , 2 , 3 и 4 :

  1. Выделение : перетащите курсор, чтобы выделить элементы рамкой.
  2. Панорамирование : перетащите курсор для панорамирования и прокрутки дорожек. Это режим по умолчанию.
  3. Масштабирование : Перетащите курсор вертикально, чтобы увеличить масштаб объектов.
  4. Время : Перетащите ползунок, чтобы выбрать временной диапазон.

Также вы можете использовать режимы навигации с помощью этих клавиш-модификаторов:

  • Shift+ перетащите курсор, чтобы выделить элементы рамкой.
  • Space+ перетащите мышью, чтобы перемещать и прокручивать изображение.
  • Ctrl+ прокрутка для масштабирования.
  • Ctrl+ перетащите мышью, чтобы выбрать временной диапазон.