Android GPU Inspector (AGI) vous permet d'effectuer un profilage système qui inclut un large éventail d'options de traçage et de mesures des performances du GPU pour votre application Android. Par rapport aux outils de profilage Android Studio, AGI combine de nombreuses fonctionnalités en un seul outil, puis fournit une couverture et une analyse plus approfondies du GPU. Les données de profilage système disponibles incluent les éléments suivants :
- Données de trace d'application, y compris les repères ATrace
- Données de planification du processeur et des processus
- Informations sur les performances du GPU, telles que les données de compteur, d'activité et de cycle de vie
- Données de trace pour les appels d'API Vulkan
- Statistiques d'utilisation de la mémoire
- Statistiques d'utilisation de la batterie
System Profiler est le composant AGI qui gère l'UI et l'instrumentation pour le profilage système sur plusieurs frames d'application. Il est basé sur le système de traçage Perfetto. Pour en savoir plus sur le composant AGI permettant de profiler des frames d'application individuels, consultez la présentation du profileur de frames.
Premiers pas
Le démarrage rapide d'AGI explique comment configurer AGI, capturer un profil système, puis ouvrir le fichier de trace obtenu. La section suivante décrit plus en détail les options de configuration.
Options de profilage
Cette section décrit les principales options disponibles lorsque vous profilez une application.
Paramètres des applications
Les paramètres Application identifient l'application Android à exécuter et à tracer lors du profilage système. La sélection d'une application Android à tracer lors du profilage du système est facultative, mais recommandée, car sans elle, le fichier de trace obtenu n'inclura pas les repères ATrace ni l'activité du GPU pour une application.
Options de trace
Les options de trace spécifient les données de profilage à collecter. Le bouton Configurer affiche les sources de données disponibles.
Pour minimiser l'impact sur les performances de votre appareil Android lorsque vous profilez le système, nous vous recommandons de sélectionner moins de sources de données si vous définissez la durée de la trace sur plus d'une minute. Toutefois, pour les traces de moins d'une minute, vous pouvez sélectionner toutes les sources de données avec un impact minimal.
Options de processeur
L'option CPU permet de collecter des données sur le processeur et la planification des processus via ftrace. Cela vous permet de voir quel processus et quel thread s'exécutent sur chaque cœur de processeur. Vous pouvez également activer les options suivantes :
- Fréquence et états inactifs : collecte la fréquence des cœurs de processeur et les événements de changement d'état inactif, ce qui vous permet d'inspecter la façon dont le processeur est mis à l'échelle en fonction de la charge.
- Chaînes de planification / latence : collecte des données supplémentaires sur l'état des threads concernant les retards et les préemptions de planification des threads.
- Tranches de thread : collecte les repères ATrace dans les vues de processus.
Options de GPU
Les options GPU permettent de profiler l'utilisation du GPU par votre application, par exemple en collectant des données sur la fréquence et l'utilisation de la mémoire du GPU. Pour collecter ces données, vous devez spécifier une application à tracer dans les paramètres Application. Voici les options disponibles :
Compteurs : collecte des échantillons de compteurs de GPU. Ces données permettent de déterminer le niveau d'activité du GPU et de localiser les goulots d'étranglement. Nous vous recommandons donc de configurer ces paramètres.
Les compteurs sont spécifiques au matériel. Par exemple, la fréquence minimale de collecte d'échantillons (fréquence d'interrogation) peut varier en fonction du type de compteur. Pour en savoir plus sur les compteurs compatibles, consultez Compteurs de performances du GPU.
Cycle de vie des frames : suit les événements SufaceFlinger, qui aident à déterminer comment les tampons de frame se déplacent dans votre application, le compositeur et le gestionnaire de fenêtres. Ces événements vous permettent de localiser les frames d'application manqués et d'identifier les sources de latence dans votre pipeline de rendu.
Tranches RenderStage : collecte des données qui permettent de déterminer comment votre application utilise le GPU.
Options Vulkan
Les options Vulkan permettent de tracer les appels d'API Vulkan, qui peuvent ensuite être activés par type de fonction. Vous pouvez utiliser ces données pour déterminer la surcharge du processeur des appels d'API Vulkan. La trace enregistre la durée de chaque appel de fonction, qui s'affiche dans les tranches de thread de votre application lorsque vous analysez les données dans la piste d'événements Vulkan.
Autres options
Voici les options de profilage système supplémentaires :
Mémoire : collectez les statistiques essentielles sur l'utilisation de la mémoire, à la fois globalement et pour chaque processus.
Batterie : collecte les statistiques de la batterie. Cela peut vous donner une estimation approximative de la consommation d'énergie de votre application.
Forcer le traçage dans un fichier sur l'appareil : les données de trace sont généralement diffusées en streaming via USB pendant la capture de la trace, ce qui présente le moins de surcharge et permet d'obtenir de longues traces. Toutefois, si vous rencontrez des problèmes ou si des données de profilage sont perdues en raison de la latence USB, vous pouvez sélectionner cette option pour enregistrer le fichier de trace sur l'appareil, qu'AGI télécharge ensuite une fois le traçage terminé. Pour cela, vous devez disposer de suffisamment d'espace dans la mémoire de stockage interne de votre appareil pour stocker le fichier de trace.
Mode avancé
Le lien Passer au mode avancé lance le mode de configuration avancée, qui vous permet de modifier manuellement la configuration de trace Perfetto qui stocke vos options de profilage.
Afficher et analyser les résultats
Lorsque vous ouvrez un fichier de trace contenant des données de profilage système, AGI affiche les données dans l'UI du profileur système pour analyse. Pour savoir comment afficher les données, consultez Afficher un profil système.
Les sections suivantes décrivent comment analyser les données de profilage système avec AGI :
- Analyser les temps de traitement des frames
- Analyser l'efficacité de la mémoire
- Analyser l'utilisation de la bande passante de la mémoire des données de texture
- Analyser l'utilisation de la bande passante de la mémoire des données de sommets
- Analyser la planification des threads