Android GPU Inspector (AGI) позволяет выполнять профилирование системы, которое включает широкий спектр параметров трассировки и измерений производительности графического процессора для приложения Android. В отличие от инструментов профилирования Android Studio, AGI объединяет многие из этих возможностей в одном инструменте, а затем обеспечивает более глубокий охват и анализ графического процессора. Доступные данные профилирования системы включают следующее:
- Данные трассировки приложения, включая маркеры ATrace.
- Данные о ЦП и планировании процессов
- Информация о производительности графического процессора, например данные счетчика, сведения о действиях и жизненном цикле.
- Данные трассировки для вызовов Vulkan API
- Статистика использования памяти
- Статистика использования батареи
System Profiler – это компонент AGI, который управляет интерфейсом и инструментами для профилирования системы в нескольких кадрах приложения. Он создан на основе системы трассировки Perfetto. Подробную информацию о компоненте AGI для профилирования отдельных кадров приложения можно найти в обзоре профилировщика кадров.
Начать
В кратком руководстве по AGI описано, как настроить AGI, записать системный профиль и открыть полученный файл трассировки. В следующем разделе приведены подробные сведения о параметрах конфигурации.
Параметры профилирования
В этом разделе описаны основные параметры, доступные при профилировании приложения.
Настройки приложения
Настройки Application (Приложение) определяют, какое приложение Android будет запущено и отслежено во время профилирования системы. Выбирать приложение Android для трассировки во время профилирования системы необязательно, но рекомендуется, поскольку без этого в итоговом файле трассировки не будет маркеров ATrace и данных о работе графического процессора для приложения.
Параметры трассировки
Параметры трассировки определяют, какие данные профилирования будут собираться. Нажмите кнопку Настроить, чтобы посмотреть доступные источники данных.
Чтобы минимизировать влияние на производительность устройства Android при профилировании системы, рекомендуем выбрать меньше источников данных, если длительность трассировки превышает минуту. Однако для трассировок длительностью менее минуты можно выбрать все источники данных с минимальным влиянием.
Варианты ЦП
Параметр CPU позволяет собирать данные о ЦП и планировании процессов с помощью ftrace. Это позволяет увидеть, какой процесс и поток выполняется на каждом ядре ЦП. Вы также можете включить следующие параметры:
- Частота и состояния бездействия. Сбор данных о частоте ядра ЦП и событиях изменения состояния бездействия, что позволяет проверить, как ЦП масштабируется в зависимости от нагрузки.
- Цепочки планирования и задержки. Сбор дополнительных данных о состоянии потоков, связанных с задержками планирования и вытеснением.
- Фрагменты потоков. Сбор маркеров ATrace в представлениях процессов.
Параметры графического процессора
Параметры GPU позволяют профилировать использование графического процессора приложением, например собирать данные о частоте графического процессора и использовании памяти. Чтобы собирать эти данные, необходимо указать приложение для отслеживания в настройках Приложение. Доступны следующие варианты:
Счетчики. Сбор данных счетчиков графического процессора. Эти данные используются для определения загруженности графического процессора и поиска узких мест, поэтому мы рекомендуем настроить эти параметры.
Счетчики зависят от аппаратного обеспечения. Например, минимальная частота сбора данных (частота опроса) может различаться в зависимости от типа счетчика. Подробнее о поддерживаемых счетчиках графического процессора…
Жизненный цикл кадра. Трассировка событий SurfaceFlinger, которая помогает определить, как буферы кадров перемещаются по приложению, компоновщику и диспетчеру окон. Эти события позволяют находить пропущенные кадры приложения и определять источники задержки в конвейере рендеринга.
Фрагменты этапов рендеринга. Сбор данных, которые помогают определить, как приложение использует графический процессор.
Настройки Vulkan
Параметры Vulkan позволяют отслеживать вызовы API Vulkan, которые затем можно включить по типу функции. Эти данные можно использовать для определения нагрузки на ЦП, создаваемой вызовами Vulkan API. Трассировка записывает продолжительность каждого вызова функции, которая отображается в срезах потоков приложения при анализе данных в отслеживании событий Vulkan.
Другие варианты
Дополнительные параметры профилирования системы:
Память. Сбор статистики использования памяти в целом и каждым процессом.
Батарея. Сбор статистики об использовании батареи. Это может дать вам приблизительную оценку энергопотребления вашего приложения.
Принудительная запись трассировки в файл на устройстве. Обычно данные трассировки передаются по USB во время ее выполнения. Это позволяет снизить нагрузку и выполнять длительную трассировку. Однако если у вас возникли проблемы или данные профилирования были потеряны из-за задержки USB, вы можете выбрать этот вариант, чтобы сохранить файл трассировки на устройстве, который AGI затем скачает после завершения трассировки. Для этого на устройстве должно быть достаточно места.
Расширенный режим
Ссылка Перейти в расширенный режим позволяет перейти в режим расширенной конфигурации, в котором можно вручную изменить конфигурацию трассировки Perfetto, где хранятся параметры профилирования.
Просмотр и анализ результатов
Когда вы открываете файл трассировки, содержащий данные профилирования системы, AGI отображает их в интерфейсе System Profiler для анализа. Подробнее о том, как посмотреть данные…
В следующих разделах описывается, как анализировать данные профилирования системы с помощью AGI:
- Анализ времени обработки кадров
- Анализ эффективности использования памяти
- Анализ использования пропускной способности памяти текстур
- Анализ использования пропускной способности памяти вершин
- Как анализировать планирование потоков