Con Android GPU Inspector (AGI), puoi profilare un frame specifico della tua app per Android e utilizzarlo per eseguire un'analisi approfondita dell'utilizzo della GPU dell'app. Questi dati di profilazione possono aiutarti a comprendere meglio l'utilizzo della GPU della tua app rispetto alla sola profilazione del sistema.
La profilazione dei frame con AGI inizia raccogliendo tracce e altri dati sulle prestazioni, quindi misurandoli e visualizzandoli per l'analisi.
I dati di profilazione del frame disponibili includono:
Chiamate API Vulkan
Contenuti del framebuffer
Chiamate di disegno mesh visualizzate
Valori di memoria RAM e GPU per i comandi
Dati sulle prestazioni della GPU per gli eventi di rendering
Dati pipeline
Esegui il rendering dei dati sullo stato
Risorse per texture e mesh
Inizia
La guida rapida di AGI descrive come configurare l'AGI, acquisire i dati del profilo del frame e quindi aprire il file di traccia risultante. La prossima sezione descrive le opzioni di configurazione in modo più dettagliato.
Opzioni di profilazione
Questa sezione descrive le opzioni principali disponibili quando acquisisci un profilo frame.
Opzioni dell'API Graphics
Le opzioni dell'API Graphics indicano l'API grafica utilizzata dall'app. Le opzioni sono disponibili nell'elenco Tipo della finestra di dialogo Acquisisci profilo di sistema. Queste sono le opzioni disponibili:
- Vulkan: per le app che usano direttamente l'API Vulkan.
- OpenGL su ANGLE: per le app che utilizzano OpenGL ES.
AGI traccia direttamente i comandi Vulkan. Tuttavia, se la tua app utilizza OpenGL ES, AGI usa una build ANGLE personalizzata per tradurre i comandi in comandi Vulkan prima di tracciare l'app.
Argomenti aggiuntivi
Il campo Argomenti aggiuntivi consente di passare flag aggiuntivi al comando am start-activity
adb, che viene inviato al dispositivo per avviare l'app durante la profilazione. Per ulteriori informazioni, consulta la sezione sui comandi adb.
Opzioni di inizio e durata
Nella sezione Inizio e durata, puoi specificare in che modo AGI acquisisce il frame nel profilo. Sono disponibili le seguenti opzioni:
Inizio: AGI acquisisce tutti i comandi dall'avvio dell'applicazione alla fine del primo frame sottoposto a rendering.
Manuale: premi un pulsante nella finestra di dialogo di tracciamento per acquisire manualmente il frame.
Tempo: AGI acquisisce automaticamente un frame dopo il numero di secondi specificato.
Frame: AGI acquisisce automaticamente il frame specificato.
Opzioni di Trace
La sezione Opzioni di traccia contiene le impostazioni che consentono di configurare i flag di tracciamento. Queste sono le impostazioni disponibili:
Disattiva buffer: disattiva il buffering della memoria sul dispositivo durante l'acquisizione dei dati. Questa opzione è utile per eseguire il debug di un arresto anomalo dell'app perché garantisce che tutti i dati di tracciamento siano serializzati fino all'arresto anomalo. Tuttavia, aumenta leggermente il sovraccarico dell'AGI durante la profilazione.
Includi estensioni non supportate: includi le estensioni non supportate da AGI sul dispositivo. Se la tua app utilizza un'estensione non supportata da AGI, potresti riscontrare comportamenti indesiderati, come piccoli errori o arresti anomali, durante la riproduzione della traccia. Sfoglia un elenco delle estensioni supportate.
Cancella dati pacchetto: usa il comando adb
pm clear
per richiedere al dispositivo di cancellare i dati utente dell'app prima dell'avvio.
Impostazioni di output
La sezione Output contiene le impostazioni per l'archiviazione dei file di traccia, ad esempio:
Specifica la directory in cui archiviare il file di traccia.
Modifica il nome del file generato automaticamente per il file di traccia.
Visualizza i risultati
Quando apri un file di traccia che contiene dati di profilazione dei frame, AGI mostra i dati nell'interfaccia utente di Frame Profiler per l'analisi.
Frame Profiler è il componente AGI che gestisce l'interfaccia utente e la strumentazione per la profilazione di un singolo frame. Frame Profiler mostra i dati nei seguenti elementi UI:
Riquadro Comandi: chiamate API Vulkan.
Riquadro Framebuffer: contenuti del framebuffer.
Riquadro Geometria: Rendering delle chiamate di disegno mesh.
Riquadro Memoria: valori della memoria RAM e GPU per i comandi.
Riquadro Prestazioni: dati sulle prestazioni della GPU per gli eventi di rendering.
Riquadro pipeline: contenuti della pipeline.
Riquadro Shader: Contenuti ombreggiati.
Riquadro Stato: lo stato di rendering per i comandi inviati.
Riquadro Texture: un elenco di risorse di texture associate a un comando.
Riquadro Texture: il contenuto di una risorsa texture selezionata.
Riquadro Report: un elenco di errori di profilazione.
Analizza i risultati
Questi argomenti descrivono come analizzare i dati di profilazione dei frame con AGI:
- Analizzare le tessere di rendering
- Analizzare il rendimento dello mesh
- Analizzare i formati dei vertici