В Android GPU Inspector (AGI) вы можете просматривать и анализировать профиль системы в пользовательском интерфейсе профилировщика системы. После того как вы профилируете систему и открываете файл трассировки в AGI, System Profiler отображает данные профилирования на временной шкале с расширяемыми элементами, отображающими дополнительные сведения.
Основные элементы пользовательского интерфейса профилировщика системы включают в себя следующее:
Панель инструментов
Текстовое поле «Фильтр треков»: фильтрует треки, отображаемые на панели треков .
Кнопка «Информация» ( i ): отображает трассировку и метаданные устройства.
Кнопка «Справка» ( ? ): отображает сочетания клавиш и мыши .
Временная шкала : указывает временной интервал событий трассировки.
Панель отслеживания : отображает данные профилирования относительно временной шкалы.
Панель сведений : расширяемая панель, на которой отображаются сведения о выбранном элементе.
Данные профилирования
В файле трассировки данные профилирования хранятся в событиях с отметкой времени, называемых событиями трассировки. События трассировки состоят из различных типов срезов и счетчиков. Например, события трассировки ЦП включают срезы планирования, а события трассировки графического процессора включают счетчики производительности графического процессора и срезы потоков.
В пользовательском интерфейсе профилировщика системы панель отслеживания содержит события трассировки, которые отображаются в строках, называемых дорожками, которые основаны на временной шкале. Треки одного типа отображаются в группах треков.
Дорожки графического процессора
Дорожки графического процессора отображают информацию о профилировании графического процессора. Это основные типы дорожек графического процессора:
Отслеживание очереди графического процессора : активность графического процессора приложения.
Счетчики графического процессора : аппаратные счетчики графического процессора производят выборку через определенные промежутки времени.
Отслеживание событий Vulkan : события, связанные с API Vulkan.
SurfaceFlinger Tracks : события SurfaceFlinger, которые указывают, как графические буферы перемещаются по системе.
Отслеживание очереди графического процессора
Графический процессор может иметь одну или несколько дорожек очереди графического процессора в зависимости от количества аппаратных очередей, которые выполнялись во время трассировки. Дорожки очереди графического процессора содержат фрагменты активности, которые представляют период и тип работы графического процессора, использованного вашим приложением.
Срез активности содержит метаданные, которые вы можете просмотреть, например, буфер команд Vulkan, проход рендеринга и буфер кадров, который инициировал работу. Дескрипторы этих объектов в Vulkan отображаются на панели сведений следующим образом:
-
VkCommandBuffer
-
VkRenderPass
-
VkFrameBuffer
Вы можете дать этим объектам удобные имена, чтобы их можно было легко идентифицировать в трассировке рядом с их дескрипторами, используя функцию vkSetDebugUtilsObjectNameEXT
из расширения VK_EXT_debug_utils
или функцию vkDebugMarkerSetObjectNameEXT
из расширения VK_EXT_debug_marker
. Оба расширения реализованы AGI и доступны вашему приложению во время трассировки.
Счетчики графического процессора
Счетчик графического процессора отображает на графике значения счетчиков производительности графического процессора, выбранные через определенный интервал. На графиках показаны различия в производительности ваших графических процессоров, лежащих в основе аппаратных компонентов, между выборками. Вы можете использовать эту информацию для выявления узких мест в использовании вашего графического процессора.
Доступные счетчики зависят от аппаратного обеспечения. Посмотреть краткое описание каждого счетчика можно, наведя курсор на название трека. Подробности см. в разделе Счетчики производительности графического процессора .
Трек событий Вулкана
Трек событий Vulkan показывает события API Vulkan, записанные во время трассировки. Типы событий отслеживания — это в основном события отправки в очередь (вызовы vkQueueSubmit
). Если вы щелкнете событие отправки в очередь, AGI выделит фрагменты активности графического процессора, связанные с вызовом. Вы можете использовать эти данные для проверки асинхронной работы, поставленной в очередь вызовами 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
:
- Выбор : перетащите, чтобы выделить элементы.
- Панорамирование : перетащите для панорамирования и прокрутки дорожек. Это режим "по умолчанию".
- Масштаб : перетащите вертикально, чтобы увеличить масштаб элементов.
- Время : перетащите, чтобы выбрать временной диапазон.
Вы также можете использовать режимы навигации с помощью этих клавиш-модификаторов:
-
Shift+
перетаскивание в поле выбора элементов. -
Space+
перетаскивание для панорамирования и прокрутки. -
Ctrl+
прокрутка для увеличения. -
Ctrl+
перетаскивание, чтобы выбрать диапазон времени.