Afficher un profil système

Dans Android GPU Inspector (AGI), vous pouvez afficher et analyser un profil système dans l'interface utilisateur de System Profiler. Après avoir profilé un système et ouvert le fichier de suivi dans AGI, System Profiler affiche les données de profilage dans une chronologie avec des éléments extensibles qui affichent des informations supplémentaires.

Les principaux éléments de l'interface utilisateur de System Profiler sont les suivants :

Profilage des données

Dans un fichier de trace, les données de profilage sont stockées dans des événements horodatés appelés événements de trace. Les événements de trace se composent de différents types de tranches et de compteurs. Par exemple, les événements de trace du processeur incluent des tranches de planification, tandis que les événements de trace du GPU incluent des compteurs de performances du GPU et des tranches de thread.

Dans l'interface utilisateur de System Profiler, le volet de piste contient des événements de trace affichés dans des lignes appelées pistes, qui sont basées sur la chronologie. Les pistes du même type sont affichées dans des groupes de pistes.

Pistes GPU

Les pistes GPU affichent des informations de profilage du GPU. Voici les principaux types de pistes GPU :

  1. Pistes de file d'attente du GPU : activité du GPU de l'application.

  2. Pistes de compteur du GPU : compteurs matériels du GPU échantillonnés à intervalles réguliers.

  3. Piste d'événements Vulkan : événements liés à l'API Vulkan.

  4. Pistes SurfaceFlinger : événements SurfaceFlinger, qui indiquent comment les tampons graphiques se déplacent dans le système.

Pistes de file d'attente du GPU

Un GPU peut comporter une ou plusieurs pistes de file d'attente du GPU en fonction du nombre de files d'attente matérielles exécutées pendant la trace. Les pistes de file d'attente du GPU contiennent des tranches d'activité qui représentent la période et le type de travail du GPU utilisés par votre application.

Une tranche d'activité contient des métadonnées que vous pouvez afficher, telles que le tampon de commandes Vulkan, le pass de rendu et le tampon de frame qui ont initié le travail. Les handles Vulkan de ces objets sont affichés dans le volet de détails comme suit :

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

Vous pouvez attribuer des noms conviviaux à ces objets afin de les identifier facilement dans une trace à côté de leurs handles. Pour ce faire, utilisez la vkSetDebugUtilsObjectNameEXT fonction de l'extension VK_EXT_debug_utils ou la vkDebugMarkerSetObjectNameEXT fonction de l'extension VK_EXT_debug_marker. Les deux extensions sont implémentées par AGI et sont disponibles pour votre application lors du traçage.

Pistes de compteur du GPU

Les pistes de compteur du GPU représentent graphiquement la valeur des compteurs de performances du GPU échantillonnés à intervalles réguliers. Les graphiques affichent les variations des performances des composants matériels sous-jacents de vos GPU entre les échantillons. Vous pouvez utiliser ces informations pour identifier les goulots d'étranglement dans l'utilisation de votre GPU.

Les compteurs disponibles sont spécifiques au matériel. Vous pouvez afficher de brèves descriptions de chaque compteur en pointant sur le nom de la piste. Pour en savoir plus, consultez Compteurs de performances du GPU.

Piste d'événements Vulkan

La piste d'événements Vulkan affiche les événements de l'API Vulkan enregistrés pendant la trace. Les types d'événements de piste sont principalement des événements d'envoi de file d'attente (appels vkQueueSubmit). Si vous cliquez sur un événement d'envoi de file d'attente, AGI met en évidence les tranches d'activité du GPU associées à l'appel. Vous pouvez utiliser ces données pour inspecter le travail asynchrone mis en file d'attente par les appels de l'API Vulkan et la latence entre le processeur et le GPU.

Pistes SurfaceFlinger

SurfaceFlinger tracks display le cycle de vie des tampons graphiques (cibles de rendu de la chaîne d'échange d'une application) lorsqu'ils progressent dans le système jusqu'à leur affichage. Les événements sont agrégés par tampon pour faciliter le suivi de la surcharge et de la latence nécessaires à l'acquisition et à la publication des tampons.

Interagir avec les données de profilage

Cette section explique comment interagir avec les données de profilage dans l'interface utilisateur de System Profiler.

Épingler

Vous pouvez épingler des pistes et des groupes de pistes à l'aide de leur bouton d'épingle.

Réduire et développer le menu

Certaines pistes et tous les groupes de pistes sont réductibles. Certains groupes de pistes affichent un résumé lorsqu'ils sont réduits. Par exemple, lorsqu'il est réduit, le groupe de pistes du processeur affiche l'utilisation globale du processeur dans un graphique.

Zoom

AGI agrège les données de profilage en fonction du niveau de zoom. Lorsque vous ouvrez un fichier de suivi pour la première fois, l'interface utilisateur de System Profiler affiche l'intégralité du profil au niveau de zoom maximal. Vous pouvez inspecter le profil en recherchant les zones d'intérêt, puis en affichant les détails.

Lorsque vous effectuez un zoom avant ou arrière sur différents types de pistes, elles affichent différents types de données de profilage. Par exemple, les pistes du processeur affichent initialement des tranches de temps de chaque thread, puis passent à l'affichage des données d'utilisation du cœur du processeur lorsque vous effectuez un zoom avant.

Afficher les détails

Vous pouvez afficher des métadonnées détaillées dans le volet de détails en sélectionnant des éléments dans le volet de piste. Si un élément est sélectionnable, le fait de le survoler transforme le curseur en pointeur, puis vous pouvez choisir l'élément.

Sélectionner une période

Vous pouvez sélectionner une période, ce qui vous permet de comparer les événements de trace de différentes pistes. Pour ce faire, activez le mode Timing (Timing), puis faites glisser pour sélectionner une période. Tout ce qui se trouve en dehors de la période est estompé et la durée de la période s'affiche.

Vous pouvez également sélectionner la période d'une tranche sélectionnée en appuyant sur M. Vous pouvez ensuite parcourir d'autres pistes pour identifier les événements de la même période.

Vous pouvez parcourir les éléments du volet de piste à l'aide des touches WASD ou en faisant défiler et en effectuant un panoramique. System Profiler utilise les mêmes raccourcis clavier et souris que Systrace. Les raccourcis disponibles sont les suivants :

  • W et S, ou Ctrl++ et Ctrl+- pour zoomer.
  • A et D, ou les flèches left et right permettent de faire un panoramique sur la vue vers la gauche et la droite.
  • Q et E, ou les flèches up et down permettent de faire défiler les pistes.
  • Maintenir la touche shift augmente la vitesse de déplacement de la navigation.
  • Ctrl+défilement permet de zoomer sur l'élément sélectionné.
  • F permet de zoomer sur un élément sélectionné.
  • Z+0 permet de réinitialiser et de dézoomer complètement.
  • V permet d'activer ou de désactiver la mise en évidence de VSync s'il est disponible dans la trace.
  • M marque la sélection actuelle en sélectionnant sa période.
  • H ou ? affiche la fiche de référence des raccourcis clavier et souris.

La barre d'outils contient des boutons qui permettent de basculer entre les modes de navigation, qui sélectionnent l'action effectuée lorsque vous faites glisser des éléments dans le volet de piste. Vous pouvez également sélectionner les modes de navigation suivants en appuyant sur les touches 1, 2, 3 et 4 :

  1. Sélection : faites glisser pour sélectionner des éléments dans une zone.
  2. Panoramique : faites glisser pour effectuer un panoramique et faire défiler les pistes. Il s'agit du mode par défaut.
  3. Zoom : faites glisser verticalement pour zoomer sur les éléments.
  4. Timing : faites glisser pour sélectionner une période.

Vous pouvez également utiliser les modes de navigation avec les touches de modification suivantes :

  • Shift+faire glisser pour sélectionner des éléments dans une zone.
  • Space+faire glisser pour effectuer un panoramique et faire défiler.
  • Ctrl+défilement pour zoomer.
  • Ctrl+faire glisser pour sélectionner une période.