Utiliser RenderDoc avec Browser
RenderDoc est un outil de débogage des graphismes qui prend en charge plusieurs API graphiques et plateformes de développement. Il est utilisé pour capturer et analyser des images pendant le développement. RenderDoc permet de voir comment le moteur d’une application en cours d’exécution a choisi la méthode de rendu d’une image donnée sur le matériel Meta Quest. Cette information est généralement utilisée pour trouver des opportunités d’optimisation et pour identifier l’origine probable de problèmes de performances.
Meta gère son propre fork de RenderDoc. Ce fork donne accès aux données de profilage GPU de bas niveau du processeur Snapdragon 835 du Quest et du processeur Snapdragon XR2 du Quest 2, et plus spécifiquement aux informations provenant de son moteur de rendu par dalle.
Le programme d’installation Windows de RenderDoc pour Meta Quest est disponible sur la page des
téléchargements.
Ce guide vous explique étape par étape comment connecter RenderDoc pour Meta Quest à Browser, et comment capturer et relire une image.
- Téléchargez et installez RenderDoc Meta Fork sur votre PC.
- Dans votre appareil Quest, lancez le navigateur et accédez à
chrome://flags. - Saisissez « Image » dans la barre de recherche de la page.
- Réglez l’indicateur Android ImageReader (Lecteur d’images Android) sur Disabled (Désactivé).
- Lorsque vous modifiez un indicateur, une bannière apparaît en bas du navigateur. Cliquez sur le bouton Relancer.
- Étape supplémentaire si vous devez travailler avec le mode immersif :
- Saisissez « RenderDoc » dans la barre de recherche.
- Réglez l’indicateur RenderDoc Immersive Mode Support (Prise en charge du mode immersif de RenderDoc) sur Enabled (Activé).
- Cliquez sur le bouton Relancer.
Connecter RenderDoc à Browser pour capturer une image
- Sur votre PC, lancez l’application RenderDoc Meta Fork.
- En bas à gauche de l’UI de RenderDoc, cliquez sur Replay Context: (something) (Contexte de relecture : (quelque chose)) et sélectionnez Meta Quest 2 Profiling Mode (Mode profilage Meta Quest 2).
- À ce stade, votre appareil Quest devrait afficher trois points blancs sur un fond noir. Appuyez sur le bouton Home de votre manette Quest pour revenir à l’environnement Home.
- Dans le panneau Launch Application (Lancer l’application) de RenderDoc, saisissez
com.oculus.browser/.PanelActivity dans le champ Executable Path (Chemin d’accès à l’exécutable), puis cliquez sur le bouton Launch (Lancer). - Le navigateur devrait se lancer avec RenderDoc connecté. Accédez à la page et à la vue que vous souhaitez capturer, puis capturez une image à l’aide de l’application RenderDoc installée sur votre ordinateur.
Si le navigateur ne se lance pas, vous pouvez tout de même joindre RenderDoc à celui-ci manuellement :
- Lancez manuellement le navigateur sur votre appareil Quest. RenderDoc devrait apparaître en superposition sur le navigateur.
- Dans l’UI de RenderDoc, cliquez sur le menu File (Fichier), puis sur Attach to Running Instance (Joindre à l’instance en cours d’exécution).
- Vous trouverez com.oculus.browser dans la liste.
- Sélectionnez com.oculus.browser et cliquez sur le bouton Connect to App (Connecter à l’application).
Après avoir effectué une capture, vous pouvez capturer d’autres images ou en ouvrir une immédiatement en mode relecture.
- Vous devriez toujours être connecté·e à votre appareil. Si ce n’est pas le cas, définissez le contexte de la relecture sur le casque Meta Quest. En bas à gauche de l’UI de RenderDoc, cliquez sur Replay Context: (something) (Contexte de relecture : (quelque chose)) et sélectionnez Meta Quest 2 Profiling Mode (Mode profilage Meta Quest 2).
- Double-cliquez sur la capture que vous souhaitez visualiser. Vous relisez alors la capture sur le processeur graphique du Quest.
- Dans la fenêtre Event Browser (Navigateur d’évènements), vous pouvez voir tous les draw calls effectués pendant la capture de l’image. Cliquez sur un draw call pour examiner l’état de l’ensemble du pipeline de rendu au moment de cet appel.
- L’onglet Texture Viewer (Visionneuse de textures) montre le tampon d’image lorsque vous cliquez sur différents appels.
- Il peut apparaître très sombre. Pour l’éclaircir, utilisez le bouton gamma situé à gauche du libellé Subresource (Sous-ressource) vers le haut du panneau Texture Viewer (Visionneuse de textures).
- En général, le rendu affiché ici n’est pas tout à fait précis, mais il donne une bonne indication de ce qui se produit à chaque draw call.
- Vous pouvez définir l’option Overlay (Superposition) sur Wireframe Mesh (Maillage non texturé) ou Highlight Draw Call (Mettre en évidence le draw call) pour identifier l’objet dont le rendu est en cours.
- Ouvrez l’onglet Performance Counter Viewer (Visionneuse de compteurs de performances) et appuyez sur le bouton Capture Counters (Compteurs de capture). Vous trouverez ici différents indicateurs. Certains d’entre eux sont génériques et d’autres sont spécifiques à Meta. Les indicateurs spécifiques à Meta sont décrits dans la rubrique Draw Call Metrics (Indicateurs des draw calls).
- Pour identifier les draw calls les plus coûteux de votre scène, nous vous recommandons de trier les appels par GPU Duration (Durée GPU) ou par Clocks (Horloges). Il se peut que ces cadences ne soient pas tout à fait exactes en termes de durée réelle du rendu de la scène à chaque image, mais leurs valeurs sont précises les unes par rapport aux autres. Par exemple, un appel de 1 000 microsecondes est environ deux fois plus coûteux qu’un appel de 500 microsecondes.
- Vous pouvez mapper les identifiants d’évènement (EID) de la fenêtre Performance Counter Viewer (Visionneuse de compteurs de performances) sur ceux de la fenêtre Event Browser (Navigateur d’évènements).
- L’onglet Pipeline State (État du pipeline) montre l’état complet du pipeline graphique pour l’appel sélectionné dans Event Browser (Navigateur d’évènements). Pour afficher davantage d’informations sur une étape spécifique, cliquez sur les différentes cases du pipeline.