In Android GPU Inspector (AGI), puoi visualizzare e analizzare un profilo di sistema nell'interfaccia utente di System Profiler. Dopo aver profilato un sistema e aperto il file di traccia in AGI, System Profiler mostra i dati di profilazione in una sequenza temporale con elementi espandibili che mostrano ulteriori dettagli.
Gli elementi principali dell'interfaccia utente di System Profiler includono quanto segue:
Barra degli strumenti
Casella di testo Filtro traccia: filtra le tracce visualizzate nel riquadro Traccia.
Pulsante informazioni (i): visualizza i metadati di traccia e dispositivo.
Pulsante della guida (?): visualizza le scorciatoie da tastiera e del mouse.
Sequenza temporale: indica l'intervallo di tempo degli eventi di traccia.
Riquadro Traccia: mostra i dati di profilazione in relazione alla sequenza temporale.
Riquadro Dettagli: un riquadro espandibile che mostra i dettagli di un elemento selezionato.
Profilazione dei dati
In un file di traccia, i dati di profilazione vengono archiviati in eventi con timestamp chiamati eventi traccia. Gli eventi di traccia sono costituiti da vari tipi di sezioni e contatori. Ad esempio, gli eventi di traccia della CPU includono sezioni di pianificazione, mentre gli eventi di traccia GPU includono i contatori delle prestazioni della GPU e le sezioni dei thread.
Nell'interfaccia utente di System Profiler, il riquadro delle tracce contiene eventi di traccia visualizzati in righe denominate tracce, basate sulla sequenza temporale. Le tracce dello stesso tipo vengono visualizzate nei gruppi di tracce.
Tracce GPU
I percorsi GPU mostrano le informazioni di profilazione delle GPU. Questi sono i principali tipi di tracce GPU:
Tracce code GPU: attività della GPU dell'applicazione.
Tracce contatore GPU: i contatori dell'hardware della GPU campionati a intervalli periodici.
Monitoraggio eventi Vulkan: eventi relativi all'API Vulkan.
Tracce SurfaceFlinger: eventi SurfaceFlinger, che indicano il modo in cui i buffer grafici si muovono nel sistema.
Tracce coda GPU
Una GPU può avere uno o più tracce GPU Queue in base al numero di code hardware eseguite durante la traccia. Le tracce della coda GPU contengono sezioni di attività che rappresentano il periodo e il tipo di lavoro della GPU utilizzato dalla tua app.
Una sezione di attività contiene metadati che puoi visualizzare, come il buffer dei comandi Vulkan, il pass per il rendering e il buffer del frame che ha avviato l'operazione. Gli handle Vulkan per questi oggetti sono visualizzati nel riquadro dei dettagli come segue:
VkCommandBuffer
VkRenderPass
VkFrameBuffer
Puoi assegnare nomi semplici a questi oggetti per identificarli facilmente in una traccia insieme agli handle, utilizzando la funzione vkSetDebugUtilsObjectNameEXT
dell'estensione VK_EXT_debug_utils
o la funzione vkDebugMarkerSetObjectNameEXT
dell'estensione VK_EXT_debug_marker
. Entrambe le estensioni sono implementate da AGI e disponibili per la tua applicazione durante il tracciamento.
Contatore tracce GPU
Il contatore GPU traccia in un grafico il valore dei contatori delle prestazioni GPU campionati a intervalli periodici. I grafici mostrano le variazioni nelle prestazioni delle GPU dei componenti hardware sottostanti tra i campioni. Puoi usare queste informazioni per identificare i colli di bottiglia nell'utilizzo della GPU.
I contatori disponibili sono specifici dell'hardware. Puoi visualizzare brevi descrizioni di ciascun contatore passando il mouse sopra il nome della traccia. Per i dettagli, consulta la sezione Contatori delle prestazioni delle GPU.
Traccia evento Vulkan
Il monitoraggio eventi di Vulkan mostra gli eventi dell'API Vulkan registrati durante la traccia. I
tipi di eventi traccia sono principalmente eventi di invio in coda (vkQueueSubmit
chiamate). Se fai clic su un evento di invio della coda, AGI evidenzia le sezioni di attività GPU associate alla chiamata. Puoi utilizzare questi dati per ispezionare il lavoro asincrono
accodato dalle chiamate API Vulkan e la latenza tra CPU e GPU.
Tracce SurfaceFlinger
Le tracce SurfaceFlinger mostrano il ciclo di vita dei buffer grafici (target di rendering della swapchain di un'app) durante il passaggio nel sistema fino a quando non vengono visualizzati. Gli eventi vengono aggregati per buffer per facilitare il monitoraggio dell'overhead e della latenza necessari per l'acquisizione e la pubblicazione dei buffer.
Interagire con i dati di profilazione
Questa sezione descrive come interagire con i dati di profilazione nell'interfaccia utente di System Profiler.
Fissa
Puoi fissare le tracce e i gruppi di tracce utilizzando il relativo pulsante.
Comprimi ed espandi
È possibile comprimere alcune tracce e tutti i gruppi di tracce. Alcuni gruppi di canali mostrano un riepilogo quando sono compressi. Ad esempio, quando è compresso, il gruppo di monitoraggio CPU mostra l'utilizzo complessivo della CPU in un grafico.
Zoom
AGI aggrega i dati di profilazione in base al livello di zoom. Quando si apri per la prima volta un file di traccia, l'interfaccia utente di System Profiler mostra l'intero profilo al livello massimo di zoom ridotto. Puoi esaminare il profilo individuando le aree di interesse e visualizzando i dettagli.
Se aumenti e diminuisci lo zoom su diversi tipi di traccia, vengono mostrati diversi tipi di dati di profilazione. Ad esempio, le tracce CPU inizialmente mostrano sezioni di tempo di ogni thread, per poi passare alla visualizzazione dei dati sull'utilizzo del core della CPU quando aumenti lo zoom.
Visualizza dettagli
Puoi visualizzare i metadati dettagliati nel riquadro dei dettagli selezionando gli elementi nel riquadro di monitoraggio. Se un elemento è selezionabile, passandoci sopra il cursore si trasformerà in un puntatore, quindi potrai scegliere l'elemento.
Seleziona un intervallo di tempo
Puoi selezionare un intervallo di tempo, in modo da confrontare gli eventi di traccia di tracce diverse. Per farlo, abilita la modalità Tempo e trascina per selezionare un intervallo. Tutti gli elementi al di fuori di questo intervallo sono attenuati e la durata dell'intervallo viene visualizzata.
Puoi anche selezionare l'intervallo di tempo di una sezione selezionata premendo M
. Puoi quindi scorrere altre tracce per identificare gli eventi dello stesso periodo di tempo.
Scorciatoie di navigazione
Puoi spostarti tra gli elementi nel riquadro Traccia con i tasti WASD
o scorrendo
e facendo la panoramica. Profiler di sistema utilizza le stesse scorciatoie da tastiera e mouse di Systrace.
Le scorciatoie disponibili includono:
W
eS
oCtrl++
eCtrl+-
per eseguire lo zoom.- Le frecce
A
eD
oleft
eright
consentono di eseguire la panoramica della vista verso sinistra e verso destra. - Le frecce
Q
eE
oup
edown
consentono di scorrere le tracce. - Tieni premuto
shift
per aumentare la velocità di spostamento della navigazione. Ctrl
+scorrimento aumenta lo zoom sull'elemento selezionato.F
aumenta lo zoom su un elemento selezionato.Z
+0
ripristina e diminuisce completamente lo zoom.V
attiva/disattiva l'evidenziazione di VSync se è disponibile nella traccia.M
segna la selezione corrente selezionando il relativo intervallo di tempo.H
o?
mostra la scheda di riferimento delle scorciatoie da tastiera e mouse.
Modalità di navigazione
La barra degli strumenti contiene pulsanti che consentono di passare da una modalità di navigazione all'altra e selezionare l'azione da eseguire quando trascini gli elementi nel riquadro di monitoraggio. Puoi anche selezionare le seguenti modalità di navigazione premendo i tasti 1
, 2
, 3
e 4
:
- Selezione: trascina gli elementi per selezionare gli elementi per selezionarli nella casella.
- Panoramica: trascina per eseguire la panoramica e lo scorrimento delle tracce. Questa è la modalità predefinita.
- Zoom: trascina in verticale per eseguire lo zoom sugli elementi.
- Tempo: trascina per selezionare un intervallo di tempo.
Puoi anche utilizzare le modalità di navigazione con i seguenti tasti di modifica:
Shift+
trascina gli elementi selezionati nel riquadro.Space+
trascina per eseguire la panoramica e scorrere.Ctrl+
scorri per eseguire lo zoom.Ctrl+
trascina per selezionare un intervallo di tempo.