Com o Android GPU Inspector (AGI), é possível criar perfis do sistema que incluem uma ampla variedade de opções de rastreamento e medições de desempenho da GPU para seu app Android. Em comparação com as ferramentas de criação de perfil do Android Studio, o AGI combina muitos desses recursos em uma única ferramenta e oferece uma cobertura e análise mais detalhadas da GPU. Os dados de criação de perfil do sistema disponíveis incluem o seguinte:
- Dados de rastreamento de apps, incluindo ATrace marcadores
- Dados de programação de processos e CPU
- Informações de desempenho da GPU, como dados de contador, atividade e ciclo de vida
- Dados de rastreamento para chamadas da API Vulkan
- Estatísticas de uso da memória
- Estatísticas de uso da bateria
O System Profiler é o componente do AGI que gerencia a interface e a instrumentação para a criação de perfis do sistema em vários frames de apps. Ele é criado com base no Perfetto sistema de rastreamento. Para informações sobre o componente do AGI para criar perfis de frames de apps individuais, consulte a visão geral do Frame Profiler.
Primeiros passos
O início rápido do AGI descreve como configurar o AGI, capturar um perfil do sistema e abrir o arquivo de rastreamento resultante. A próxima seção descreve as opções de configuração com mais detalhes.
Opções de criação de perfil
Esta seção descreve as principais opções disponíveis ao criar um perfil de um app.
Configurações do aplicativo
As configurações do Aplicativo identificam o app Android a ser executado e rastreado durante a criação de perfis do sistema. Selecionar um app Android para rastrear durante a criação de perfis do sistema é opcional, mas recomendado. Sem essa opção, o arquivo de rastreamento resultante não incluirá marcadores ATrace e atividade da GPU para um aplicativo.
Opções de rastreamento
As Opções de rastreamento especificam os dados de criação de perfil a serem coletados. O botão Configurar mostra as fontes de dados disponíveis.
Para minimizar o impacto no desempenho do dispositivo Android ao criar um perfil do sistema, recomendamos selecionar menos fontes de dados se você definir a Duração do rastreamento para mais de um minuto. No entanto, para rastreamentos com menos de um minuto, é possível selecionar todas as fontes de dados com impacto mínimo.
Opções de CPU
A opção CPU permite a coleta de dados de programação de processos e CPU pelo ftrace. Isso permite que você veja qual processo e linha de execução estão em execução em cada núcleo da CPU. Também é possível ativar estas opções:
- Frequência e estados inativos: coleta eventos de frequência do núcleo da CPU e de mudança de estado inativo, o que permite inspecionar como a CPU é escalonada para cima ou para baixo com base na carga.
- Cadeias de programação / latência: coleta dados adicionais de estado da linha de execução sobre atrasos e preempção da programação de linhas de execução.
- Fatias de linhas de execução: coleta marcadores ATrace nas visualizações de processos.
Opções de GPU
As opções de GPU permitem a criação de perfis do uso da GPU do app, como a coleta de dados de frequência e uso da memória da GPU. Para coletar esses dados, é necessário especificar um aplicativo para rastrear nas configurações do Aplicativo. As opções incluem o seguinte:
Contadores: coleta amostras de contadores de GPU. Esses dados são usados para determinar o nível de ocupação da GPU e localizar gargalos. Por isso, recomendamos configurar essas opções.
Os contadores são específicos do hardware. Por exemplo, a frequência mínima para coleta de amostras (Taxa de pesquisa) pode variar de acordo com o tipo de contador. Para informações sobre contadores compatíveis, consulte Contadores de desempenho da GPU.
Ciclo de vida do frame: rastreia eventos do SufaceFlinger , que ajudam a determinar como os buffers de frame se movem pelo aplicativo, o compositor e o gerenciador de janelas. Esses eventos permitem localizar frames de apps perdidos e identificar fontes de latência no pipeline de renderização.
Fatias de estágio de renderização : coleta dados que ajudam a determinar como o aplicativo está usando a GPU.
Opções do Vulkan
As opções do Vulkan permitem o rastreamento de chamadas da API Vulkan, que podem ser ativadas por tipo de função. É possível usar esses dados para determinar a sobrecarga da CPU das chamadas da API Vulkan. O rastreamento registra a duração de cada chamada de função, que é mostrada nas fatias de linhas de execução do app ao analisar os dados na faixa de eventos do Vulkan.
Outras opções
As opções adicionais de criação de perfis do sistema incluem:
Memória: coleta estatísticas essenciais de uso da memória, globalmente e para cada processo.
Bateria: coleta estatísticas da bateria. Isso pode fornecer uma estimativa aproximada do uso de energia do aplicativo.
Forçar o rastreamento em um arquivo no dispositivo: os dados de rastreamento normalmente são transmitidos por USB enquanto o rastreamento está sendo capturado, o que tem a menor quantidade de sobrecarga e permite rastreamentos longos. No entanto, se você encontrar problemas ou dados de criação de perfil descartados devido à latência USB, selecione essa opção para salvar o arquivo de rastreamento no dispositivo, que o AGI faz o download após a conclusão do rastreamento. Isso exige espaço suficiente no armazenamento interno do dispositivo para armazenar o arquivo de rastreamento.
Modo avançado
O link Mudar para o modo avançado inicia o modo de configuração avançada, que permite editar manualmente a configuração de rastreamento do Pefetto que armazena as opções de criação de perfil.
Visualizar e analisar os resultados
Ao abrir um arquivo de rastreamento que contém dados de criação de perfis do sistema, o AGI mostra os dados na interface do System Profiler para análise. Para informações sobre como visualizar os dados, consulte Visualizar um perfil do sistema.
Estes tópicos descrevem como analisar dados de criação de perfis do sistema com o AGI:
- Analisar tempos de processamento de frames
- Analisar a eficiência da memória
- Analisar o uso de largura de banda de memória da textura
- Analisar o uso de largura de banda de memória do vértice
- Analisar a programação de linhas de execução