Com o Android GPU Inspector (AGI), é possível criar o perfil de um frame específico do seu app Android e usá-lo para fazer uma análise detalhada do uso da GPU do app. Esses dados de criação de perfil podem proporcionar uma compreensão mais profunda do uso de GPU do seu aplicativo do que apenas com a criação de perfil do sistema.
A criação de perfil do frame com o AGI começa coletando rastros e outros dados de desempenho e depois medindo e mostrando esses rastros para análise.
Os dados de criação de perfil de frame disponíveis incluem o seguinte:
Chamadas da API Vulkan
Conteúdo de framebuffer
Chamadas de desenho de rede mesh renderizadas
Valores de memória de RAM e GPU para comandos
Dados de desempenho da GPU para eventos de renderização
Dados de pipeline
Dados de estado de renderização
Recursos de textura e sombreador
Primeiros passos
O guia de início rápido do AGI descreve como configurar o AGI, capturar dados de perfil de frame e, em seguida, abrir o arquivo de rastreamento resultante. A próxima seção descreve as opções de configuração em mais detalhes.
Opções de criação de perfil
Esta seção descreve as principais opções disponíveis ao capturar um perfil de frame.
Opções da API Graphics
As opções da API Graphics indicam a API gráfica usada pelo app. As opções estão disponíveis na lista Type da caixa de diálogo Capture System Profile. Estas são as opções disponíveis:
- Vulkan: para apps que usam diretamente a API Vulkan.
- OpenGL on ANGLE: para apps que usam o OpenGL ES.
O AGI rastreia os comandos do Vulkan diretamente. No entanto, se o app usar o OpenGL ES, o AGI vai usar um build ANGLE personalizado para traduzir os comandos em comandos do Vulkan antes de rastrear o app.
Outros argumentos
O campo Additional Arguments serve para transmitir outras sinalizações ao
comando am start-activity
do adb, que é enviado ao seu dispositivo para iniciar o app
durante a criação de perfil. Para mais informações, consulte
Comandos adb.
Opções de início e duração
Na seção Início e duração, você pode especificar como o AGI captura o frame para o perfil. As seguintes opções estão disponíveis:
Início: o AGI captura todos os comandos desde a inicialização do app até o final do primeiro frame renderizado.
Manual: pressione um botão na caixa de diálogo de rastreamento para capturar manualmente o frame.
Tempo: o AGI captura automaticamente um frame após um determinado número de segundos.
Frame: o AGI captura automaticamente o frame especificado.
Opções de rastreamento
A seção Opções de rastreamento contém configurações que definem flags de rastreamento. Estas são as configurações disponíveis:
Desativar buffer: desativa o armazenamento em buffer de memória no dispositivo ao capturar dados. Essa opção é útil para depurar uma falha no app, porque garante que todos os dados de rastreamento sejam serializados até a falha. No entanto, isso aumenta um pouco a sobrecarga do AGI durante a criação de perfil.
Incluir extensões não compatíveis: inclua extensões que não têm suporte do AGI no dispositivo. Caso o app use uma extensão sem suporte do AGI, você poderá encontrar comportamentos inadequados, incluindo erros ou falhas sutis, ao repetir o rastro. Consulte uma lista de extensões compatíveis.
Limpar dados de pacotes: use o comando adb
pm clear
para solicitar que o dispositivo limpe os dados do usuário do app antes da inicialização.
Configurações de saída
A seção Saída contém configurações para o armazenamento de arquivos de rastreamento, como:
Especifique o diretório para armazenar o arquivo de rastreamento.
Modifique o nome do arquivo gerado automaticamente para o arquivo de rastreamento.
Conferir os resultados
Quando você abre um arquivo de rastreamento que contém dados de criação de perfil de frame, o AGI mostra os dados na interface do Frame Profiler para análise.
O Frame Profiler é o componente AGI que gerencia a interface e a instrumentação para criar o perfil de um frame individual. O Frame Profiler exibe dados nestes elementos da IU:
Painel Commands: chamadas de API Vulkan.
Painel Framebuffer: conteúdo do framebuffer.
Painel Geometria: renderização de chamadas de desenho da malha.
Painel Memória: valores de memória RAM e GPU para os comandos.
Painel Desempenho: dados de desempenho da GPU para eventos de renderização.
Painel Pipeline: conteúdo do pipeline.
Painel Shader: conteúdo do sombreador.
Painel Estado: o estado de renderização dos comandos enviados.
Painel Texturas: uma lista de recursos de textura associados a um comando.
Painel Textura: o conteúdo de um recurso de textura selecionado.
Painel Relatório: uma lista de erros de criação de perfil.
Analisar os resultados
Estes tópicos descrevem como analisar os dados do perfil de frame com o AGI: