Ces informations étaient à jour en avril 2022. Plusieurs fonctionnalités ont changé ou ont été mises à jour depuis.
Présentation de la liste de vérification PIX
La liste de vérification PIX fournit des conseils automatisés sur la performance et l’exactitude du GPU. Les données de profilage capturées par PIX peuvent servir à analyser les problèmes de performance du GPU, du CPU, de la mémoire et des E/S de fichiers. La liste de vérification PIX a été livrée avec la version d’avril 2021 du Microsoft Game Development Kit with XBOX Extensions (GDKX) et s’est améliorée dans les versions subséquentes. Si vous utilisez encore la version d’avril 2021 du GDK, veuillez effectuer la mise à jour sans tarder. La liste de vérification PIX est offerte uniquement sur XBOX Series X|S. XBOX One X n’a pas été incluse, car cela aurait retiré du temps d’ingénierie à XBOX Series X|S. Toutefois, les conseils de performance sont souvent les mêmes pour les deux plateformes.Avantages de l’automatisation
L’automatisation peut détecter les éléments suivants :- Des problèmes que vous ne vérifiez pas
- De petits problèmes qui se produisent de nombreuses fois
- Des problèmes qui exigent une connaissance de la capture entière
Démo un : Repérer la liste de vérification PIX et y naviguer
Cette section décrit la vue Liste de vérification. Figure 1. Fenêtre de vue d’ensemble de PIX.




Pourquoi les tentatives d’automatisation échouent
Pour bien faire les choses, nous avons besoin que vous compreniez ce qui n’a pas fonctionné lors des tentatives précédentes. La raison la plus évidente est les faux positifs. Si la liste de vérification vous indique que vous faites quelque chose de mal alors que ce n’est pas le cas, il s’agit d’un bogue qui doit être corrigé. Toutefois, certains problèmes subtils ne sont pas des faux positifs, mais y sont liés. Ce sont des cas de vrais positifs, où la liste de vérification a raison, il y a bien un échec, mais pour une raison ou une autre, vous ne pouvez pas ou ne voulez pas le corriger. Nous appelons ces problèmes des _Oui, mais_. Voici quelques exemples :- La liste de vérification indique Prefer GPU Optimal Memory for Graphics Resources. Oui, mais vous avez épuisé la mémoire GPU optimale et la liste de vérification PIX vous demande de corriger l’impossible.
- La liste de vérification indique Avoid consecutive calls to ResourceBarrier. Oui, mais il n’y avait que quelques occurrences. La correction n’en vaut pas la peine, car elle ne vous fera rien gagner de substantiel.
- La liste de vérification indique Use the 2nd hardware display plane. Oui, mais vous ne voulez pas créer des branches de code distinctes pour PC, XBOX One X et XBOX Series X|S.
Démo deux : Filtrer la vue Liste de vérification
Cette section décrit comment filtrer la vue Liste de vérification. Figure 6. Filtrage par statut réussite/échec dans la vue Liste de vérification de PIX.




Démo trois : Décompression de profondeur inutile
Cette section décrit l’avertissement Use Texture Compatibility on Compressed Resources et utilise une décompression de profondeur inutile comme exemple. Figure 11. Vue Liste de vérification de PIX avec l’avertissement Use Texture Compatibility on Compressed Resources.
La sélection du lien vous mène à la vue Events et à un appel ResourceBarrier, comme le montre la figure 12. Depth Decompress se trouve sous l’appel ResourceBarrier. Toutefois, sur XBOX Series X|S, il existe une fonctionnalité de compatibilité de texture qui vous permet d’éviter une opération Depth Decompress et de lire nativement le format compressé. Les décompressions de profondeur n’apparaissent habituellement pas à cet endroit. Vous ne vous attendez pas à voir une opération Depth Decompress. Et elle prend 0,116 milliseconde. La liste de vérification vous indique où une violation s’est produite.
Figure 13. Vue API Objects de PIX et indicateur de compatibilité de texture.
En poussant l’examen plus loin, vous accédez à la vue API Objects et à l’objet illustré. La figure 13 confirme que l’objet #35073 a été créé en tant que tampon de profondeur et de stencil, mais qu’il ne spécifiait pas la compatibilité de texture.
Cet avertissement est apparu dans les deux titres de l’échantillon. Pour l’un d’eux, c’était une bonne trouvaille. L’autre a répondu oui, mais : cela avait été essayé et ce n’était pas important. Il était donc raisonnable d’ignorer l’opération Depth Decompress, malgré la perte de performance ailleurs.
Démo quatre : Compression delta des couleurs (DCC)
Cette section décrit l’avertissement Use Delta Color Compression for Pre-cleared Color Textures. Figure 14. Compression delta des couleurs dans PIX.


Démo cinq : Cible de rendu non liée
Cette section décrit l’avertissement Remove Unbound RTVs from Shader/PSO et une cible de rendu non liée. Figure 17. Cible de rendu non liée dans PIX.



- L’exportation de quelque chose qui n’est pas nécessaire et le coût de performance qui y est associé.
- Le calcul servant à produire la valeur exportée est un coût gaspillé.
- Il ne se produisait que brièvement.
- La correction exige un nouveau PS, ce qui ajoute de la mémoire et de la complexité.
Démo six : Exportations VS inutilisées
Cette section décrit l’avertissement The VS Exports Only Parameters which are Needed by the PS. Figure 21. Avertissement d’exportations VS inutilisées dans PIX.
La figure 22 montre les appels de dessin dans la vue Pipeline.
La sélection du lien vous mène aux appels de dessin dans la vue Pipeline.
Figure 23. Nuanceur de pixels non lié dans PIX.

- L’exportation de paramètres qui n’ont pas besoin d’être exportés occupe de l’espace dans le cache de paramètres.
- Les paramètres exportés étaient le résultat d’un calcul potentiellement long qui est lui aussi gaspillé.
Démo sept : Wave64 presque vide
Cette section décrit l’avertissement Use Wave32 for threadgroups of size 32 or less et une wave64 presque vide.Cet avertissement a depuis été élargi pour couvrir davantage de cas, et son nom a changé en conséquence.


Conclusion
La liste de vérification PIX est en développement actif
L’équipe PIX développe activement la liste de vérification PIX. Vos commentaires sont importants. L’équipe ATG utilise la liste de vérification PIX lors de ses revues de performance, en surveillant les faux positifs et en apprenant où se trouvent les points problématiques. L’équipe PIX continue de mettre à jour la liste de vérification et de proposer de nouveaux avertissements. Nous vous encourageons à continuer de l’utiliser.Ce que nous vous demandons
Le développement de la liste de vérification PIX est influencé par vos commentaires.- Exécutez la liste de vérification PIX sur vos captures.
- Envoyez-nous vos commentaires sur les fonctionnalités utiles comme sur celles qui ne le sont pas, au moyen du bouton de commentaires de PIX, des forums ou de vos contacts chez Microsoft. Les développeurs ont tendance à donner des commentaires surtout lorsque les choses vont mal. Les équipes PIX ont aussi besoin de commentaires sur ce qui fonctionne bien, afin de savoir sur quoi continuer à travailler.
- Demandez de nouveaux tests. Maintenant que vous avez vu quels types de tests sont possibles, envoyez vos idées de tests supplémentaires utiles.
Plans futurs
Voici quelques fonctionnalités que l’équipe PIX a envisagées pour l’avenir.- Seuils d’avertissement configurables par l’utilisateur : par exemple, un avertissement pourrait n’être utile que s’il compte 100 occurrences. Toutefois, un autre développeur pourrait avoir besoin d’un seuil d’avertissement de seulement cinq occurrences.
- Étendre la vue Liste de vérification à d’autres types de captures : par exemple, un avertissement de System Monitor qui détecte lorsque vous êtes sous votre fréquence d’images cible pendant un certain nombre d’images. Cela créerait une capture GPU.
- Vue Liste de vérification pour les captures de minutage (Timing Capture) : elle fournirait des avertissements indiquant les échecs dans une capture de minutage PIX.
Étapes suivantes
Pour consulter l’information tirée des documents de présentation liés à cette vue d’ensemble, téléchargez les fichiers suivants à partir de XBOX Developer Download Secure Data Storage (SDS).- Diaporama : GR01_A Tour of the New PIX Checklist - GPU Performance Made Easy.pptx dans Xfest 2022 Graphics Track PowerPoints (Xfest2022GfxPPTs.ZIP)
- Présentation vidéo : GR01.mp4 dans Xfest 2022 Graphics Track Videos (Xfest2022GfxVids.ZIP)
Télécharger les présentations Microsoft PowerPoint et les vidéos
- Accédez à Téléchargements du Game Development Kit (GDK).
- Sous Select file type, sélectionnez Conference Materials, puis sélectionnez Confirm.
- Sous Select build/version number, choisissez l’une des présentations graphiques suivantes.
- Xfest 2022 Graphics Track PowerPoints
- Xfest 2022 Graphics Track Videos
- Sélectionnez Download Now, puis attendez la fin du téléchargement du fichier .zip.
- Accédez à votre dossier Téléchargements local, puis décompressez (extrayez) les fichiers du dossier compressé.
