No Android GPU Inspector (AGI), é possível conferir e analisar um perfil do sistema na interface do System Profiler. Depois de criar um perfil do 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 exibem mais detalhes.
Os principais elementos da interface do System Profiler incluem o seguinte:
Barra de ferramentas
Caixa de texto do filtro de faixa: filtra as faixas mostradas no painel de faixas.
Botão de informações (i): mostra metadados de rastreamento e do dispositivo.
Botão de ajuda (?): mostra atalhos de teclado e mouse.
Linha do tempo: indica o período dos eventos de rastreamento.
Painel de faixas: mostra os dados de criação de perfil em relação à linha do tempo.
Painel dedetalhes: um painel expansível que mostra detalhes sobre um item selecionado.
Dados de criação de perfil
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 fatias e contadores. Por exemplo, os eventos de rastreamento da CPU incluem fatias de programação, enquanto os eventos de rastreamento da GPU incluem contadores de desempenho da GPU e fatias de linha de execução.
Na interface do System Profiler, o painel de faixas contém eventos de rastreamento mostrados em linhas chamadas faixas, que são baseadas na linha do tempo. As faixas do mesmo tipo são mostradas em grupos de faixas.
Faixas da GPU
As faixas da GPU mostram informações de criação de perfil da GPU. Estes são os principais tipos de faixa da GPU:
Faixas de fila da GPU: atividade da GPU do aplicativo.
Faixas de contador da GPU: contadores de hardware da GPU amostrados em intervalos periódicos
Faixa de eventos Vulkan: eventos relacionados à API Vulkan.
Faixas do SurfaceFlinger: eventos do SurfaceFlinger, que indicam como os buffers gráficos se movem pelo sistema.
Faixas de fila da GPU
Uma GPU pode ter uma ou mais faixas de fila da GPU com base no número de filas de hardware executadas durante o rastreamento. As faixas de fila da GPU contêm fatias de atividade que representam o período e o tipo de trabalho da GPU usado pelo app.
Uma fatia de atividade contém metadados que podem ser visualizados, como o buffer de comando Vulkan, a passagem de renderização e o buffer de frame que iniciou o trabalho. Os identificadores Vulkan desses objetos são mostrados no painel de detalhes da seguinte maneira:
VkCommandBufferVkRenderPassVkFrameBuffer
É possível dar nomes fáceis de usar a esses objetos para identificá-los facilmente em um rastreamento ao lado dos identificadores usando a vkSetDebugUtilsObjectNameEXT função da VK_EXT_debug_utils extensão ou a vkDebugMarkerSetObjectNameEXT função da VK_EXT_debug_marker extensão. As duas extensões são implementadas pelo AGI e ficam disponíveis para o aplicativo durante o rastreamento.
Faixas de contador da GPU
As faixas de contador da GPU representam graficamente o valor dos contadores de desempenho da 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. É possível usar essas informações para identificar gargalos no uso da GPU.
Os contadores disponíveis são específicos do hardware. É possível conferir descrições breves de cada contador passando o cursor sobre o nome da faixa. Para mais detalhes, consulte Contadores de desempenho da GPU.
Faixa de eventos Vulkan
A faixa de eventos Vulkan mostra eventos da API Vulkan gravados durante o rastreamento. Os tipos de eventos de faixa são principalmente eventos de envio de fila (chamadas vkQueueSubmit). Se você clicar em um evento de envio de fila, o AGI vai destacar as fatias de atividade da GPU associadas à chamada. É possível usar 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
SurfaceFlinger tracks display the lifecycle of graphics buffers (an app's swapchain render targets) as they pogress through the system until they are displayed. 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 dados de criação de perfil na interface do System Profiler.
Fixar
É possível fixar faixas e grupos de faixas usando o botão de fixação.
Recolher e expandir
Algumas faixas e todos os grupos de faixas podem ser recolhidos. Alguns grupos de faixas mostram 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 dados de criação de perfil com base no nível de zoom. Ao abrir um arquivo de rastreamento pela primeira vez, a interface do System Profiler mostra todo o perfil no nível máximo de zoom. É possível inspecionar o perfil encontrando áreas de interesse e conferindo os detalhes.
Ao aumentar e diminuir o zoom em diferentes tipos de faixa, eles mostram diferentes tipos de dados de criação de perfil. Por exemplo, as faixas da CPU mostram inicialmente frações de tempo de cada linha de execução e, em seguida, passam a mostrar dados de utilização do núcleo da CPU ao aumentar o zoom.
Ver detalhes
É possível mostrar metadados detalhados no painel de detalhes selecionando itens no painel de faixas. Se um item puder ser selecionado, passar o cursor sobre ele vai mudar o cursor para um ponteiro. Em seguida, é possível escolher o item.
Selecionar um período
É possível selecionar um período, o que permite comparar eventos de rastreamento de diferentes faixas. Para fazer isso, ative o modo Marcação de tempo e arraste para selecionar um período. Tudo o que estiver fora do período será esmaecido, e a duração do período será mostrada.
Também é possível selecionar o período de uma fatia selecionada pressionando M. Em seguida, role por outras faixas para identificar eventos do mesmo período.
Atalhos de navegação
É possível navegar pelos itens no painel de faixas com as teclas WASD ou rolando e movendo a tela. O System Profiler usa os mesmos atalhos de teclado e mouse
que o Systrace.
Os atalhos disponíveis incluem o seguinte:
WeSouCtrl++eCtrl+-para aplicar zoom.AeDou as setaslefterightmovem a visualização para a esquerda e para a direita.QeEou as setasupedownrolam as faixas.- Manter
shiftpressionado aumenta a velocidade de movimento da navegação. Ctrl+rolar aplica zoom no item selecionado.Faplica zoom em um item selecionado.Z+0redefine e diminui completamente o zoom.Valterna o destaque do VSync se ele estiver disponível no rastreamento.Mmarca a seleção atual selecionando o período.Hou?mostra a folha de atalhos de teclado e mouse.
Modo de navegação
A barra de ferramentas contém botões que alternam entre os modos de navegação, que selecionam a ação realizada ao arrastar itens no painel de faixas. Também é possível selecionar os seguintes modos de navegação pressionando as teclas 1, 2, 3 e 4:
- Seleção: arraste para selecionar itens em caixa.
- Mover: arraste para mover e rolar as faixas. Esse é o modo padrão.
- Zoom: arraste verticalmente para aplicar zoom nos itens.
- Marcação de tempo: arraste para selecionar um período.
Também é possível usar modos de navegação com estas teclas modificadoras:
Shift+arrastar para selecionar itens em caixa.Space+arrastar para mover e rolar.Ctrl+rolar para aplicar zoom.Ctrl+arrastar para selecionar um período.