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 trace dans AGI, le Profileur système affiche les données de profilage dans une chronologie avec des éléments développables qui affichent des informations supplémentaires.

L'interface utilisateur du Profiler système comprend les éléments suivants :

  • Barre d'outils

  • Chronologie : indique la période des événements de trace.

  • Volet Piste : affiche les données de profilage par rapport à la chronologie.

  • Volet Détails : volet extensible qui affiche des informations détaillées sur un élément sélectionné.

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'UI du Profileur système, le volet des pistes contient des événements de trace qui sont 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 du GPU affichent des informations sur le 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 de 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 GPU en fonction du nombre de files d'attente matérielles exécutées pendant la trace. Les pistes GPU Queue (File d'attente du GPU) contiennent des tranches d'activité qui représentent la période et le type de travail du GPU utilisé 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 s'affichent dans le volet Détails comme suit :

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

Vous pouvez donner des noms conviviaux à ces objets pour les identifier facilement dans une trace à côté de leurs identifiants. Pour ce faire, utilisez la fonction vkSetDebugUtilsObjectNameEXT de l'extension VK_EXT_debug_utils ou la fonction vkDebugMarkerSetObjectNameEXT 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 de GPU

Les graphiques de compteurs de GPU suivent la valeur des compteurs de performances du GPU échantillonnés à un intervalle périodique. Les graphiques affichent les variations de 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 votre utilisation des 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 suivi 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 surbrillance 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 d'API Vulkan et la latence entre le CPU et le GPU.

Suivi SurfaceFlinger

Les pistes SurfaceFlinger suivent le cycle de vie des tampons graphiques (cibles de rendu de la chaîne d'échange d'une application) à mesure qu'ils progressent dans le système jusqu'à ce qu'ils soient affichés. 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

Certains titres et tous les groupes de titres peuvent être réduits. Certains groupes de pistes affichent un récapitulatif 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 trace pour la première fois, l'UI du Profileur système affiche l'intégralité du profil au niveau de zoom arrière maximal. Vous pouvez inspecter le profil en recherchant des 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, différents types de données de profilage s'affichent. Par exemple, les pistes de processeur affichent d'abord des tranches de temps pour chaque thread, puis passent à l'affichage des données d'utilisation des cœurs de processeur lorsque vous effectuez un zoom avant.

Afficher les détails

Vous pouvez afficher des métadonnées détaillées dans le volet d'informations en sélectionnant des éléments dans le volet de piste. Si un élément est sélectionnable, le curseur se transforme en pointeur lorsque vous le survolez. Vous pouvez ensuite choisir l'élément.

Sélectionner une période

Vous pouvez sélectionner une plage de temps, ce qui vous permet de comparer les événements de trace de différentes pistes. Pour ce faire, activez le mode Timing, puis faites glisser le doigt pour sélectionner une plage. Tout ce qui se trouve en dehors de la plage est atténué et la durée de la plage est affichée.

Vous pouvez également sélectionner la plage horaire 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 panneau de pistes à l'aide des touches WASD ou en faisant défiler et en effectuant un panoramique. Le Profiler système utilise les mêmes raccourcis clavier et souris que Systrace. Voici les raccourcis disponibles :

  • W et S, ou Ctrl++ et Ctrl+- pour zoomer.
  • Les flèches A et D, ou left et right, permettent de faire pivoter la vue vers la gauche et vers la droite.
  • Les flèches Q et E, ou up et down permettent de faire défiler les pistes.
  • Appuyer de manière prolongée sur shift augmente la vitesse de déplacement dans la navigation.
  • Ctrl+défilement zoome sur l'élément sélectionné.
  • F : zoom sur un élément sélectionné.
  • Z+0 réinitialise le zoom et le réduit complètement.
  • V active ou désactive la mise en surbrillance de VSync si elle est disponible dans la trace.
  • M marque la sélection actuelle en sélectionnant sa période.
  • H ou ? affiche la feuille de triche des raccourcis clavier et souris.

La barre d'outils contient des boutons permettant de basculer entre les modes de navigation. Ils sélectionnent l'action effectuée lorsque vous faites glisser des éléments dans le volet des pistes. 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 le curseur pour sélectionner des éléments dans un rectangle.
  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 votre doigt verticalement pour zoomer sur les éléments.
  4. Timing : faites glisser le curseur pour sélectionner une plage horaire.

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

  • Shift+ : faites glisser le doigt pour sélectionner plusieurs éléments.
  • Faites glisser Space+ pour faire un panoramique et faire défiler la page.
  • Ctrl+ Faites défiler pour zoomer.
  • Ctrl+ Faites glisser le doigt pour sélectionner une période.