С помощью Android GPU Inspector (AGI) вы можете профилировать определенный кадр вашего приложения Android и использовать его для углубленного анализа использования графического процессора приложения. Эти данные профилирования могут дать вам более глубокое понимание использования графического процессора вашим приложением, чем при использовании только профилирования системы .
Профилирование кадров с помощью AGI начинается со сбора трассировок и других данных о производительности, а затем их измерения и отображения для анализа.
Доступные данные профилирования кадров включают следующее:
Вызовы API Vulkan
Содержимое фреймбуфера
Вызовы отрисовки визуализированной сетки
Значения оперативной памяти и памяти графического процессора для команд
Данные о производительности графического процессора для событий рендеринга
Данные трубопровода
Отображение данных о состоянии
Ресурсы текстур и шейдеров
Начать
Краткое руководство по AGI описывает, как настроить AGI, захватить данные профиля кадра и затем открыть полученный файл трассировки. В следующем разделе параметры конфигурации описаны более подробно.
Параметры профилирования
В этом разделе описаны основные параметры, доступные при захвате профиля кадра.
Параметры графического API
Параметры Графического API указывают графический API, используемый вашим приложением. Эти параметры доступны в списке «Тип» диалогового окна «Захват профиля системы» . Вот доступные варианты:
- Vulkan : для приложений, которые напрямую используют API Vulkan.
- OpenGL on ANGLE : для приложений, использующих OpenGL ES.
AGI напрямую отслеживает команды Vulkan. Однако если ваше приложение использует OpenGL ES, AGI использует специальную сборку ANGLE для перевода команд в команды Vulkan перед отслеживанием приложения.
Дополнительные аргументы
Поле «Дополнительные аргументы» предназначено для передачи дополнительных флагов команде adb am start-activity
, которая отправляется на ваше устройство для запуска вашего приложения во время профилирования. Дополнительную информацию см. в разделе «Команды adb» .
Параметры начала и продолжительности
В разделе «Начало и продолжительность» вы можете указать, как AGI захватывает кадр для профилирования. Доступны следующие варианты:
Начало : AGI фиксирует все команды от запуска приложения до конца первого визуализированного кадра.
Вручную : нажмите кнопку в диалоговом окне трассировки, чтобы вручную захватить кадр.
Время : AGI автоматически захватывает кадр по истечении заданного количества секунд.
Кадр : AGI автоматически захватывает указанный кадр.
Параметры трассировки
Раздел «Параметры трассировки» содержит параметры, настраивающие флаги трассировки. Вот доступные настройки:
Отключить буферизацию : отключить буферизацию памяти на устройстве при захвате данных. Этот параметр полезен для отладки сбоя приложения, поскольку он гарантирует, что все данные трассировки будут сериализованы до момента сбоя. Однако это немного увеличивает накладные расходы AGI во время профилирования.
Включить неподдерживаемые расширения : включите расширения, которые не поддерживаются AGI на устройстве. Если ваше приложение использует расширение, не поддерживаемое AGI, вы можете столкнуться с нежелательным поведением, включая незначительные ошибки или сбои, при воспроизведении трассировки. Просмотрите список поддерживаемых расширений .
Очистить данные пакета : используйте команду
pm clear
adb, чтобы запросить на устройстве очистку пользовательских данных вашего приложения перед запуском.
Настройки вывода
Раздел «Вывод» содержит настройки хранения файлов трассировки, такие как:
Укажите каталог для хранения файла трассировки.
Измените автоматически созданное имя файла трассировки.
Посмотреть результаты
Когда вы открываете файл трассировки, содержащий данные профилирования кадров, AGI отображает данные в пользовательском интерфейсе Frame Profiler для анализа.
Frame Profiler — это компонент AGI, который управляет пользовательским интерфейсом и инструментами для профилирования отдельного кадра. Frame Profiler отображает данные в следующих элементах пользовательского интерфейса:
Панель команд : вызовы API Vulkan.
Панель фреймбуфера : содержимое фреймбуфера.
Панель «Геометрия» : рендеринг вызовов отрисовки сетки.
Панель «Память» : значения оперативной памяти и памяти графического процессора для команд.
Панель «Производительность» : данные о производительности графического процессора для событий рендеринга.
Панель «Конвейер» : содержимое конвейера.
Панель шейдеров : содержимое шейдера.
Панель состояний : состояние рендеринга отправленных команд.
Панель «Текстуры» : список ресурсов текстур, связанных с командой.
Панель текстур : содержимое выбранного ресурса текстуры.
Панель отчета : список ошибок профилирования.
Анализируйте результаты
В этих темах описывается, как анализировать данные профилирования кадров с помощью AGI: