Guide de démarrage rapide d'Android GPU Inspector

Cette rubrique explique comment effectuer le profilage du système et le profilage des frames sur votre application Android à l'aide d'Android GPU Inspector (AGI).

Ce guide de démarrage rapide est destiné aux développeurs qui connaissent le développement graphique sur Android.

Configuration requise pour l'ordinateur

L'ordinateur qui exécute AGI doit répondre aux exigences suivantes :

Télécharger et installer AGI

Téléchargez et installez AGI pour votre système d'exploitation.

Exigences concernant les applications Android

Cette section décrit les exigences concernant l'application Android profilée :

  • Votre application Android doit être débogable. L'attribut débogable dans le fichier manifeste Android de l'application doit être défini sur true. Cet attribut permet d'instrumenter correctement le pilote graphique. Pour les applications Vulkan, cet attribut permet à AGI d'ajouter sa propre couche Vulkan au démarrage de l'application.

    <application [...] android:debuggable="true">
    

Si votre application utilise Vulkan de manière native, AGI nécessite également les éléments suivants :

  • Les couches de validation Vulkan doivent être activées dans votre application. Si elles ne le sont pas, vous pouvez exécuter les commandes suivantes pour forcer votre application à s'exécuter avec les couches de validation incluses dans l'APK AGI (com.google.android.gapid.<abi>) :

    app_package=<YOUR APP PACKAGE NAME HERE>
    abi=arm64v8a # Possible values: arm64v8a, armeabi-v7a, x86
    
    adb shell settings put global enable_gpu_debug_layers 1
    adb shell settings put global gpu_debug_app ${app_package}
    adb shell settings put global gpu_debug_layer_app com.google.android.gapid.${abi}
    adb shell settings put global gpu_debug_layers VK_LAYER_KHRONOS_validation
    

    Une fois le profilage terminé, vous pouvez désactiver ces couches de validation à l'aide des commandes suivantes :

    adb shell settings delete global enable_gpu_debug_layers
    adb shell settings delete global gpu_debug_app
    adb shell settings delete global gpu_debug_layers
    adb shell settings delete global gpu_debug_layer_app
    
  • Votre application ne doit signaler aucun avertissement ni aucune erreur lorsqu'elle s'exécute avec les couches de validation Vulkan activées. Corrigez toute erreur de validation Vulkan avant de profiler.

  • Si vous utilisez des pilotes GPU bêta, incluez les métadonnées suivantes dans la balise <application> du fichier manifeste Android :

    <meta-data
              android:name="com.android.graphics.developerdriver.enable"
              android:value="true" />
    

Configuration requise pour les appareils Android

AGI présente les exigences suivantes concernant les appareils Android :

Validation de l'appareil

AGI nécessite un pilote de GPU compatible. Pour s'assurer qu'il fournit des données de profilage valides, AGI exécute une vérification de validation la première fois que vous connectez un nouvel appareil, ce qui prend environ dix secondes. Une fois le test réussi, vous pouvez utiliser l'appareil pour profiler des applications Android.

Ne dérangez pas l'appareil pendant la validation. Cela peut entraîner l'échec de la validation de l'appareil. Si la validation d'un appareil échoue alors qu'il est correctement configuré, vous pouvez réessayer en le sélectionnant à nouveau.

La validation est une étape unique pour un appareil, et les résultats sont mis en cache pour une utilisation future de l'AGI. Toutefois, AGI exécutera à nouveau la validation si la configuration de l'appareil change, par exemple si le pilote GPU ou la version d'Android sont mis à jour.

Si un appareil est répertorié comme appareil compatible, vous pouvez vous attendre à ce que l'AGI réussisse la validation. Si l'appareil ne figure pas dans la liste, il est fort probable que son pilote GPU soit incompatible avec AGI.

Si votre appareil est compatible, mais que la validation échoue

Assurez-vous de remplir toutes les conditions requises pour Android et les conditions requises pour l'ordinateur décrites dans les sections précédentes, et que l'appareil est correctement connecté à l'ordinateur à l'aide d'un câble USB.

Si toutes les exigences sont remplies, signalez le problème dans notre dépôt GitHub en décrivant le comportement.

Si votre appareil n'est pas compatible

Nous collaborons avec nos partenaires OEM pour ajouter la prise en charge d'autres appareils. Vous pouvez signaler un problème dans notre dépôt GitHub pour demander l'assistance d'un appareil.

Capturer les données de profilage

Les sections suivantes décrivent comment capturer les données de profilage et ouvrir le fichier de trace obtenu pour analyser les résultats.

Configurer les paramètres Android

Avant de commencer le profilage, vous devez configurer ces paramètres d'application et d'appareil Android, qui spécifient l'application et l'appareil à profiler.

  1. Connectez votre appareil Android à votre ordinateur à l'aide d'un câble USB.

  2. Lancez AGI sur votre ordinateur.

    La première fois que vous lancez AGI, l'écran Welcome (Bienvenue) s'affiche et vous invite à indiquer le chemin d'accès à l'exécutable adb. AGI enregistre ces paramètres dans le fichier .agic de votre dossier HOME. Si vous l'avez déjà fait, vous pouvez ignorer cette étape.

    Écran d&#39;accueil
    Figure 1 : écran d'accueil.
  3. Saisissez le chemin d'accès à l'exécutable adb dans le champ Chemin d'accès à adb. Les cases à cocher qui suivent ce champ sont facultatives.

  4. Cliquez sur Premiers pas pour afficher l'écran de lancement.

    Écran de lancement de l&#39;AGI
    Figure 2 : Écran de lancement principal d'Android GPU Inspector.
  5. Sur l'écran de lancement, cliquez sur Capture a new trace (Capturer une nouvelle trace). La boîte de dialogue Capture A New Trace (Capturer une nouvelle trace) s'affiche. Vous pouvez également cliquer sur le bouton Capture System Profile trace (Capturer la trace du profil système).

    Boîte de dialogue &quot;Capture A New Trace&quot; (Capturer une trace)
    Figure 3 : Boîte de dialogue "Capture A New Trace" (Capturer une nouvelle trace).
  6. Dans la section Appareil et type, sélectionnez l'appareil Android que vous souhaitez profiler. S'il ne s'affiche pas dans la liste Appareil, cliquez sur la flèche d'actualisation pour actualiser la liste.

  7. Dans la section Application, sélectionnez l'application que vous souhaitez profiler. S'il n'y a qu'une seule activité dans le package, vous pouvez sélectionner le package au lieu de l'activité.

    AGI inclut un exemple d'application Vulkan. Pour utiliser l'exemple d'application au lieu de la vôtre, procédez comme suit :

    1. Cliquez sur le bouton ... à côté du champ Application.

      La boîte de dialogue Sélectionner une application à tracer s'affiche. Elle contient la liste des applications qui peuvent être tracées sur l'appareil sélectionné.

    2. Dans la zone de texte Filtre, saisissez gapid pour n'afficher que les applications dont le nom de package contient gapid.

    3. Développez le package, sélectionnez com.google.android.gapid.VkSampleActivity, puis cliquez sur OK.

      Vous êtes redirigé vers la boîte de dialogue Capture A New Trace (Capturer une nouvelle trace), avec le champ Application prérempli avec l'application que vous avez sélectionnée.

  8. Dans la section Application, laissez les autres champs vides.

  9. Cliquez sur OK.

Vous êtes maintenant prêt à utiliser AGI pour profiler le système et les frames.

Profiler un système

Pour profiler un système, procédez comme suit :

  1. Sur l'écran de lancement d'AGI, cliquez sur Capture a new trace (Capturer une nouvelle trace) pour afficher la boîte de dialogue Capture System Profile (Capturer le profil système).

  2. Dans la liste Type, sélectionnez Profil système.

  3. Dans la section Début et durée, définissez Début à sur Manuel et Durée sur 2.

  4. Dans la section Options de trace, cliquez sur Configurer. Une liste d'options de profilage s'affiche.

    Boîte de dialogue &quot;Capture Config&quot;
    Figure 4 : Options de profilage dans la boîte de dialogue Capture System Profile (Capturer le profil système).
  5. Sélectionnez les données de profilage que vous souhaitez capturer.

  6. Dans la section GPU, cliquez sur Sélectionner.

    Une liste de compteurs s'affiche.

    Configuration du compteur
    Figure 5  : sélection des compteurs.
  7. Cliquez sur default pour sélectionner l'ensemble de compteurs par défaut, puis cliquez sur OK pour revenir aux options de profilage.

  8. Cliquez sur OK pour revenir à la boîte de dialogue principale Capture System Profile (Capturer le profil système).

  9. Dans la section Sortie, sélectionnez un Répertoire de sortie pour stocker les fichiers de trace générés lors du profilage. Le champ Nom du fichier doit être renseigné automatiquement, mais vous pouvez également le modifier.

  10. Cliquez sur OK. L'application sélectionnée démarre sur l'appareil Android et une fenêtre pop-up s'affiche avec un bouton Start (Démarrer).

  11. Cliquez sur le bouton Start (Démarrer) pour commencer à capturer les données de profilage, puis attendez quelques secondes que le processus se termine.

  12. Cliquez sur Ouvrir la trace. La vue initiale affichée est semblable à systrace.

    Trace du profil système
    Figure 6  : Interface utilisateur de System Profiler.

    En plus des données disponibles dans systrace, AGI affiche également des informations sur les performances du GPU. Pour en savoir plus sur l'affichage des données de profilage système, consultez Afficher un profil système AGI.

Pour en savoir plus sur les autres paramètres, consultez Options de profilage du système.

Profiler un frame

Pour profiler un frame individuel de votre application, procédez comme suit :

  1. Dans l'écran de lancement AGI, cliquez sur Capture a new trace (Capturer une nouvelle trace) pour afficher la boîte de dialogue Capture A New Trace (Capturer une nouvelle trace). Vous pouvez également cliquer sur le bouton Capture Frame Profile trace (Capturer la trace du profil de frame).

  2. Dans la liste Type, sélectionnez Vulkan ou OpenGL on ANGLE selon l'API graphique utilisée par votre application. Assurez-vous de choisir le bon, sinon AGI ne capturera aucune commande graphique.

  3. Dans la section Début et durée, définissez Début sur Manuel. Si vous avez cliqué sur le bouton Capturer la trace du profil de frame, cette étape est déjà terminée.

  4. Dans la section Sortie, sélectionnez un Répertoire de sortie pour stocker les fichiers de trace. Le champ Nom du fichier devrait être rempli automatiquement, mais vous pouvez également le modifier.

  5. Facultatif : Certaines applications génèrent un processus différent qui effectue tout le traitement graphique. Pour capturer ce processus, spécifiez son nom.

  6. Cliquez sur OK. Votre application démarre sur l'appareil Android et une fenêtre pop-up s'affiche avec un bouton Start (Démarrer).

  7. Cliquez sur le bouton Start (Démarrer) et attendez quelques secondes que le profilage soit terminé.

  8. Cliquez sur Ouvrir la trace pour afficher les données de profilage. Pour en savoir plus sur chaque volet de l'interface utilisateur de Frame Profiler, consultez Présentation du profilage des frames.

Pour en savoir plus sur les autres paramètres, consultez Options de profilage des frames.