Con Android GPU Inspector (AGI), puoi eseguire la profilazione del sistema che include un'ampia gamma di opzioni di tracciamento e misurazioni delle prestazioni della GPU per la tua app Android. Rispetto agli strumenti di profilazione di Android Studio, AGI combina molte di queste funzionalità in un unico strumento e fornisce una copertura e analisi più approfondite della GPU. I dati di profilazione del sistema disponibili includono:
- Dati di traccia dell'app, inclusi gli indicatori ATrace
- Dati di pianificazione di CPU ed elaborazione
- Informazioni sulle prestazioni della GPU, ad esempio dati su contatore, attività e ciclo di vita
- Dati di traccia per le chiamate API Vulkan
- Statistiche sull'utilizzo della memoria
- Statistiche sull'utilizzo della batteria
System Profiler è il componente AGI che gestisce l'interfaccia utente e la strumentazione per la profilazione del sistema su più frame di app. Si basa sul sistema di tracciamento Perfetto. Per informazioni sul componente AGI per la profilazione di singoli frame di app, consulta la panoramica su Framer profiler.
Inizia
La guida rapida di AGI descrive come configurare AGI, acquisire un profilo di sistema 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 profila un'app.
Impostazioni applicazione
Le impostazioni Applicazione identificano l'app per Android da eseguire e tracciare durante la profilazione del sistema. Selezionare un'app Android da tracciare durante la profilazione del sistema è facoltativo, ma consigliato perché senza questa opzione, il file di traccia risultante non includerà gli indicatori ATrace e l'attività della GPU per un'applicazione.
Opzioni di Trace
Le opzioni di traccia consentono di specificare i dati di profilazione da raccogliere. Il pulsante Configura mostra le origini dati disponibili.
Per ridurre al minimo l'impatto sulle prestazioni sul dispositivo Android quando profila il sistema, ti consigliamo di selezionare meno origini dati se imposti la Durata della traccia su oltre un minuto. Tuttavia, per tracce inferiori a un minuto, puoi selezionare tutte le origini dati con un impatto minimo.
Opzioni CPU
L'opzione CPU consente la raccolta di CPU e l'elaborazione dei dati di pianificazione tramite ftrace. In questo modo puoi vedere quale processo e thread sono in esecuzione su ciascun core della CPU. Puoi anche attivare queste opzioni:
- Frequenza e stati di inattività: raccoglie la frequenza del core della CPU e gli eventi di modifica dello stato inattivo, che ti consentono di analizzare come viene fatto lo scale up o lo scale down della CPU in base al carico.
- Catene di pianificazione / latenza: raccoglie ulteriori dati sullo stato dei thread su ritardi e prerilascio della pianificazione dei thread.
- Sezioni di thread: raccoglie gli indicatori ATrace nelle visualizzazioni del processo.
Opzioni GPU
Le opzioni GPU consentono la profilazione dell'utilizzo della GPU della tua app, ad esempio la raccolta dei dati sulla frequenza GPU e sull'utilizzo della memoria. Per raccogliere questi dati, devi specificare un'applicazione da tracciare nelle impostazioni Applicazione. Le opzioni includono:
Contatori: raccoglie i contatori delle GPU. Questi dati vengono utilizzati per determinare quanto è occupata la GPU e individuare i colli di bottiglia, quindi ti consigliamo di configurare queste impostazioni.
I contatori sono specifici dell'hardware. Ad esempio, la frequenza minima per la raccolta del campione (Tasso sondaggio) può variare in base al tipo di contatore. Per informazioni sui contatori supportati, consulta l'articolo Contatori delle prestazioni delle GPU.
Ciclo di vita dei frame: tracce di eventi SufaceFlinger, che consentono di determinare il modo in cui i buffer dei frame vengono spostati nell'applicazione, nel compositor e nel gestore di finestre. Questi eventi ti consentono di individuare i frame dell'app mancanti e di identificare le origini di latenza nella pipeline di rendering.
Sezioni di rendering Raccoglie dati che aiutano a determinare in che modo l'applicazione utilizza la GPU.
Opzioni Vulkan
Le opzioni Vulkan consentono di tracciare le chiamate API Vulkan, che possono essere abilitate in base al tipo di funzione. Puoi utilizzare questi dati per determinare l'overhead della CPU relativo alle chiamate API Vulkan. La traccia registra la durata di ogni chiamata di funzione, che viene visualizzata all'interno delle sezioni del thread dell'app quando analizzi i dati nel traccia eventi Vulkan.
Altre opzioni
Le opzioni aggiuntive per la profilazione del sistema includono:
Memoria: raccogli statistiche essenziali sull'utilizzo della memoria, sia a livello globale sia per ogni processo.
Batteria: consente di raccogliere le statistiche sulla batteria. Questi dati possono fornirti una stima approssimativa dell'utilizzo energetico della tua applicazione.
Forza la traccia in un file sul dispositivo: in genere, i dati di traccia vengono trasmessi in streaming tramite USB durante l'acquisizione della traccia, in modo da avere un overhead minimo e consentire tracce lunghe. Tuttavia, se si verificano problemi o si saltano dati di profilazione a causa della latenza USB, puoi selezionare questa opzione per salvare il file di traccia sul dispositivo, che AGI lo scarica dopo aver completato il tracciamento. Nella memoria interna del dispositivo è necessario spazio sufficiente per archiviare il file di traccia.
Modalità avanzata
Il link Passa alla modalità avanzata avvia la modalità di configurazione avanzata, che consente di modificare manualmente la configurazione della traccia Pefetto in cui vengono archiviate le opzioni di profilazione.
Visualizzare e analizzare i risultati
Quando apri un file di traccia contenente dati di profilazione del sistema, AGI visualizza i dati nell'interfaccia utente di System Profiler per l'analisi. Per informazioni sulla visualizzazione dei dati, vedi Visualizzare un profilo di sistema.
Questi argomenti descrivono come analizzare i dati di profilazione del sistema con AGI:
- Analizzare i tempi di elaborazione dei frame
- Analizzare l'efficienza della memoria
- Analizzare l'utilizzo della larghezza di banda della memoria di texture
- Analizzare l'utilizzo della larghezza di banda della memoria Vertex
- Analizzare la pianificazione dei thread