Conferir um perfil do sistema

No Android GPU Inspector (AGI), é possível conferir e analisar um perfil do sistema na interface do System Profiler. Depois de criar o perfil de um sistema e abrir o arquivo de rastreamento no AGI, o System Profiler mostra os dados de criação de perfil em uma linha do tempo com itens expansíveis que mostram mais detalhes.

Os principais elementos da interface do System Profiler incluem o seguinte:

  • Barra de ferramentas

  • Linha do tempo: indica o período dos eventos de rastreamento.

  • Painel Track: exibe dados de criação de perfil em relação à linha do tempo.

  • Painel Detalhes: um painel expansível que mostra detalhes sobre um item selecionado.

Como criar perfis de dados

Em um arquivo de rastreamento, os dados de criação de perfil são armazenados em eventos com carimbo de data/hora chamados eventos de rastreamento. Os eventos de rastreamento consistem em vários tipos de frações e contadores. Por exemplo, os eventos de rastreamento da CPU incluem a programação de frações, enquanto os eventos de rastreamento da GPU incluem contadores de desempenho da GPU e frações de linha de execução.

Na interface do System Profiler, o painel de faixa contém eventos de rastreamento que são mostrados em linhas chamadas de faixas, que são baseadas na linha do tempo. Faixas do mesmo tipo são exibidas em grupos de faixas.

Faixas da GPU

As faixas de GPU exibem informações de criação de perfil da GPU. Estes são os principais tipos de faixa de GPU:

  1. Faixas da fila de GPU: a atividade da GPU do aplicativo.

  2. Faixas de contador de GPU: os contadores de hardware da GPU têm amostragem em intervalos periódicos.

  3. Faixa de eventos da Vulkan: eventos relacionados à API Vulkan.

  4. SurfaceFlinger Tracks: eventos do SurfaceFlinger, que indicam como os buffers gráficos se movem pelo sistema.

Faixas da fila da GPU

Uma GPU pode ter uma ou mais faixas da Fila de GPU com base no número de filas de hardware executadas durante o rastreamento. As faixas da fila de GPU contêm frações de atividade que representam o período e o tipo de trabalho da GPU usado pelo app.

Uma fração de atividade contém metadados que podem ser visualizados, como o buffer de comando do Vulkan, o cartão de renderização e o buffer de frame que iniciou o trabalho. As manipulações da Vulkan para esses objetos são mostradas no painel details desta forma:

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

Você pode dar nomes fáceis de usar a esses objetos para identificá-los facilmente em um rastro ao lado dos identificadores usando a função vkSetDebugUtilsObjectNameEXT da extensão VK_EXT_debug_utils ou a função vkDebugMarkerSetObjectNameEXT da extensão VK_EXT_debug_marker. As duas extensões são implementadas pelo AGI e ficam disponíveis para o app durante o rastreamento.

Faixas de contador de GPU

O contador de GPU rastreia o valor dos contadores de desempenho de GPU amostrados em um intervalo periódico. Os gráficos mostram variações no desempenho dos componentes de hardware subjacentes das GPUs entre as amostras. Você pode usar essas informações para identificar gargalos no uso da GPU.

Os contadores disponíveis são específicos do hardware. Para conferir breves descrições de cada contador, passe o cursor sobre o nome da faixa. Para detalhes, consulte Contadores de desempenho da GPU.

Faixa de evento do Vulkan

A faixa de eventos do Vulkan mostra os eventos da API do Vulkan registrados durante o rastro. Os tipos de evento de faixa são principalmente eventos de envio à fila (chamadas vkQueueSubmit). Se você clicar em um evento de envio de fila, o AGI vai destacar as frações de atividade da GPU associadas à chamada. Use esses dados para inspecionar o trabalho assíncrono enfileirado por chamadas da API Vulkan e a latência entre a CPU e a GPU.

Faixas do SurfaceFlinger

As faixas do SurfaceFlinger exibem o ciclo de vida dos buffers gráficos (destinos de renderização da cadeia de troca de um app) à medida que eles passam pelo sistema até serem exibidos. Os eventos são agregados por buffer para facilitar o rastreamento da sobrecarga e da latência necessárias para adquirir e postar buffers.

Interagir com dados de criação de perfil

Esta seção descreve como interagir com a criação de perfil de dados na interface do System Profiler.

Fixar

Você pode fixar faixas e grupos de faixas usando o botão de fixação.

Recolher e expandir

É possível recolher algumas faixas e todos os grupos de faixas. Alguns grupos de faixas exibem um resumo quando recolhidos. Por exemplo, quando recolhido, o grupo de faixas da CPU mostra o uso geral da CPU em um gráfico.

Zoom

O AGI agrega os dados da criação de perfil com base no nível de zoom. Quando você abre um arquivo de rastreamento pela primeira vez, a IU do System Profiler mostra todo o perfil no nível máximo de zoom. Você pode inspecionar o perfil encontrando áreas de interesse e visualizando os detalhes.

À medida que você aumenta e diminui o zoom em diferentes tipos de faixa, eles mostram diferentes tipos de dados de criação de perfil. Por exemplo, as faixas da CPU exibem inicialmente frações de tempo de cada linha de execução e, em seguida, passam a exibir os dados de utilização do núcleo da CPU ao aumentar o zoom.

Confira os detalhes

É possível exibir metadados detalhados no painel de detalhes selecionando itens no painel de faixas. Se um item for selecionável, passe o cursor sobre ele para mudar o cursor para um ponteiro e, em seguida, escolher o item.

Selecione um período

Você pode selecionar um período, o que permite comparar eventos de rastreamento de diferentes faixas. Para fazer isso, ative o modo Tempo e arraste para selecionar um intervalo. Tudo o que estiver fora do intervalo será esmaecido, e a duração do intervalo será exibida.

Também é possível selecionar o período de uma fatia selecionada pressionando M. É possível percorrer outras faixas para identificar eventos do mesmo período.

Você pode navegar pelos itens no painel da faixa usando as teclas WASD ou rolando e movimentando a tela. O System Profiler usa os mesmos atalhos de teclado e mouse que o Systrace. Os atalhos disponíveis incluem:

  • W e S ou Ctrl++ e Ctrl+- para aplicar zoom.
  • As setas A e D ou left e right movimentam a visualização para a esquerda e para a direita.
  • Q e E ou as setas up e down rolam as faixas.
  • Manter shift aumenta a velocidade do movimento da navegação.
  • Ctrl + rolagem aumenta o zoom no item selecionado.
  • F aplica zoom em um item selecionado.
  • Z+0 redefine e diminui completamente o zoom.
  • O V ativa o destaque do VSync se ele estiver disponível no rastro.
  • M marca a seleção atual ao selecionar o período correspondente.
  • H ou ? mostra a folha de referência de atalhos de teclado e mouse.

A barra de ferramentas contém botões que alternam entre os modos de navegação, que selecionam a ação realizada quando você arrasta itens no painel da faixa. Você também pode selecionar os seguintes modos de navegação pressionando as teclas 1, 2, 3 e 4:

  1. Seleção: arraste para selecionar itens de caixa.
  2. Movimentar: arraste para movimentar e rolar as faixas. Esse é o modo padrão.
  3. Zoom: arraste verticalmente para aumentar o zoom nos itens.
  4. Tempo: arraste para selecionar um período.

Você também pode usar os modos de navegação com estas teclas modificadoras:

  • Shift+Arraste para marcar os itens com uma caixa.
  • Space+Arraste para movimentar e rolar.
  • Ctrl+Role para aplicar zoom.
  • Ctrl+Arraste para selecionar um período.