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