Cet article est basé sur la présentation What’s new in PIX donnée lors des XBOX Dev Days 2024. Ces renseignements étaient à jour en mai 2024. Plusieurs fonctionnalités pourraient avoir changé ou avoir été mises à jour depuis.
Performances de PIX
Les performances de PIX ont été considérablement améliorées, ce qui en fait un outil précieux pour le développement de jeux. Les dernières mises à jour visaient à réduire le temps d’itération des développeurs en diminuant de plus de 50 % la durée des captures et des analyses. La plupart des données de capture restent maintenant sur la console jusqu’à ce qu’elles soient nécessaires, ce qui accélère le processus d’itération. De plus, il existe de nouveaux schémas de compression pour les fichiers de capture GPU et des capacités d’analyse secondaire au moyen de données mises en cache. Ces améliorations vous permettent de déboguer et d’optimiser vos jeux rapidement et efficacement. Vous bénéficiez ainsi d’un flux de travail de développement plus fluide et plus simple.PIX sur XBOX et PIX sur Windows : performances de l’expérience utilisateur
Les améliorations des performances de l’expérience utilisateur de PIX visaient à accroître l’efficience et l’efficacité de l’interface utilisateur de PIX sur XBOX et de PIX sur Windows. Des signalements de comportements saccadés et lents dans l’interface utilisateur de PIX ont mené à une enquête. Celle-ci a révélé une utilisation sous-optimale de l’infrastructure d’interface utilisateur appelée Windows Presentation Foundation (WPF). Cette utilisation sous-optimale de WPF entraînait une charge de travail importante sur le thread principal, ce qui causait la lenteur. Pour y remédier, les efforts ont porté sur le fait de rendre le moteur de PIX plus asynchrone. Davantage d’opérations sont maintenant effectuées en parallèle, comme l’ouverture de fichiers ou la collecte de compteurs.Améliorations du temps d’itération des développeurs dans les captures GPU de PIX sur XBOX
Mode de stockage local
Le mode de stockage local est une fonctionnalité qui améliore les temps d’itération de 50 % ou plus. Ce mode fonctionne en conservant la plupart des données capturées sur le disque SSD de la console. Cela réduit au minimum la quantité de données transférées lorsque vous ouvrez un fichier. Par conséquent, vous pouvez effectuer une analyse immédiatement, sans le délai généralement associé au transfert de données. Figure 1. Capture GPU de PIX sur XBOX.

Performances de l’analyse
Un nouveau schéma de compression a été implémenté pour les fichiers de capture GPU et tous les transferts réseau de PIX. Cela améliore l’efficacité du stockage et de la transmission des données. Davantage de données sont maintenant collectées en parallèle, ce qui simplifie le processus d’analyse. Une nouvelle stratégie de collecte des compteurs a été livrée en mars 2024. Auparavant, pour obtenir les moyennes, tous les compteurs de tous les niveaux et de toutes les hiérarchies étaient collectés. La collecte de données donne maintenant la priorité aux événements PIX de niveau supérieur, qui sont affichés en premier. Les nœuds terminaux sont collectés plus tard en arrière-plan. Cette approche garantit que les données essentielles sont facilement accessibles. Le nombre de passes de calcul des moyennes est passé de 48 en octobre 2023 à 19 en mars 2024.Capacités d’analyse secondaire au moyen de données mises en cache
L’analyse secondaire est la deuxième fois que vous exécutez une analyse sur la même capture. En mettant en cache les données de capture sur la console et en utilisant un cache de données côté PC pour la chronologie (Timeline), vous pouvez réduire considérablement le temps requis pour l’analyse. Cette approche vous permet de collecter en parallèle les données de la chronologie. Les renseignements essentiels sont facilement accessibles, sans qu’il soit nécessaire de récupérer les données à plusieurs reprises. Utilisez les données mises en cache pour accéder rapidement aux mesures de performance et les analyser, repérer les goulots d’étranglement et prendre des décisions éclairées pour optimiser vos jeux. Ce processus simplifié améliore non seulement les temps d’itération, mais offre aussi un flux de travail d’analyse plus réactif et plus efficace.Améliorations du temps d’itération des développeurs dans les captures GPU de PIX sur Windows
Les performances d’analyse de PIX sur Windows ont été améliorées grâce à l’affichage de données de base avant le début d’une analyse. Cela simplifie le processus. Vous pouvez maintenant accéder immédiatement à des renseignements comme les ressources liées et les objets d’API, ainsi qu’à des vues comme la vue d’état, les tas de descripteurs, la table des nuanceurs et la vue de l’historique des ressources. Cela fait gagner du temps et offre une expérience plus intuitive. Le temps de démarrage est maintenant dix fois plus rapide dans certains scénarios par rapport aux versions antérieures de PIX sur Windows. Les autres fonctionnalités de performance d’analyse comprennent les suivantes.- L’onglet du pipeline se remplit maintenant plus rapidement.
- Le suivi des accès des nuanceurs (Shader Access Tracking) est maintenant une fonctionnalité facultative. Pour activer cette fonctionnalité, sélectionnez le bouton Gather Accessed Resources.
- Les plug-ins mis à jour des fournisseurs de GPU ont amélioré la vitesse de collecte des données.
Débogage GPU de PIX sur XBOX
Auparavant, le débogage GPU était un scénario secondaire pour PIX. En raison des progrès de la technologie GPU, il s’agit maintenant de l’un des scénarios les plus importants. Les dernières mises à jour du débogage GPU de PIX sur XBOX introduisent plusieurs fonctionnalités puissantes conçues pour améliorer le processus de débogage et le rendre plus efficace. Les nouvelles fonctionnalités comprennent les suivantes :- Exceptions de nuanceur dans le débogage en direct
- Exceptions de nuanceur dans les captures GPU
- Fenêtre Invocations pour le débogage en direct
- Surveillance des threads dans la vue Watch
- Vues des symboles de nuanceur
- Prise en charge du débogage des nuanceurs DirectX Raytracing (DXR)
Exceptions de nuanceur dans le débogage en direct
Vous pouvez maintenant gérer les exceptions de nuanceur lors du débogage en direct. Vous pouvez :- Détecter les erreurs dans les programmes de nuanceur exécutés sur le GPU.
- Repérer les problèmes dans les calculs numériques.
- Intercepter les violations d’accès à la mémoire.
La figure 3 montre la boîte de dialogue Live Shader Debug de PIX sur XBOX.
Exceptions de nuanceur dans les captures GPU
Les exceptions de nuanceur peuvent maintenant être consultées dans les captures GPU. La vue des exceptions de nuanceur fournit des renseignements détaillés sur les exceptions survenues tout au long de l’image. La vue se trouve dans Tools, à côté de Dr. PIX, Shader Trace et Memory Timeline. Cette vue affiche une liste d’identificateurs graphiques (GID) où des exceptions sont levées. Pour chaque GID, la vue présente une liste des nuanceurs où des exceptions se produisent, identifiés par leur hachage. Développez ces entrées pour voir toutes les exceptions levées dans ce nuanceur. Pour chaque exception, vous obtenez le nom de la fonction, la ligne de code source, la valeur du compteur de programme, le nombre d’occurrences de l’exception et le type d’exception. Vous pouvez aussi accéder immédiatement au débogueur pour tester chaque nuanceur. Les résultats peuvent être filtrés davantage. Par exemple, vous pouvez sélectionner une plage de GID et un sous-ensemble de types d’exception, puis voir quels nuanceurs sont touchés. Les exceptions de mémoire dans PIX sur XBOX sont encore en cours de développement, mais les exceptions numériques sont entièrement fonctionnelles. Figure 4. Vue Shader Exceptions.
Fenêtre Invocations pour le débogage en direct
Les exceptions de nuanceur lors du débogage en direct sont maintenant visibles dans les fenêtres Invocations et Watch. Vous pouvez voir l’emplacement du code source où l’exception a été levée, si le thread était actif, le type de vague (64 ou 32) et la ligne du compteur de programme. Figure 5. Fenêtre Invocations pour le débogage en direct.
Threads dans la vue Watch
Une nouvelle fonctionnalité de la vue Watch affiche toutes les voies de la vague dans la vue Watch. Vous obtenez ainsi une seule vue de la vague entière. Auparavant, vous deviez changer l’invocation consultée pour voir les voies. Il existe plusieurs options de configuration pour filtrer les résultats. Vous pouvez surveiller toutes les voies, une plage précise, seulement les voies actives ou inactives, ou les voies appartenant à un quad. Figure 6. Vue Watch de PIX.

Vue Shader Symbols
La vue Shader Symbols remplace la boîte de dialogue contextuelle qui s’affichait auparavant à l’ouverture d’une capture. Désormais, un avertissement s’affiche, suivi d’une vue dédiée. Elle indique quels symboles sont chargés et déchargés. Auparavant, seul ce qui ne fonctionnait pas était affiché. Il existe maintenant une vue complète de ce qui est présent. Vous pouvez aussi ajouter et supprimer des chemins de symboles et réanalyser les chemins des bases de données de programme (PDB) au besoin. Figure 8. Vue Shader Symbols.
Prise en charge du débogage des nuanceurs DXR
Les nuanceurs DXR dans PIX sur XBOX sont maintenant à parité avec les autres types de débogage pour la génération des PDB, la découverte de ces PDB dans PIX, leur chargement et le débogage de n’importe quelle partie du nuanceur. Les symboles des nuanceurs DXR diffèrent légèrement de ce qui est habituellement recommandé. Pour les autres étapes de nuanceur, la recommandation est d’utiliser des PDB allégés. Compilez avec un ensemble d’indicateurs différent pour obtenir un PDB allégé; PIX pourra ensuite régénérer les informations de débogage à partir de celui-ci. C’est pratique, car les PDB complets sont volumineux et coûteux à utiliser. Pour DXR, nous recommandons d’utiliser des PDB incorporés. Ils fonctionnent mieux avec les outils actuels. Il y a moins de nuanceurs DXR que d’autres types en ce qui concerne les permutations. Lorsque vous effectuez un pas à pas détaillé dansTraceRays(), le débogueur commence à l’implémentation TraceRay du pilote. Continuez le pas à pas à partir de là, ou placez des points d’arrêt dans vos nuanceurs en langage de nuanceur de haut niveau (HLSL) pour accéder immédiatement à l’endroit que vous souhaitez examiner.
Pour PIX sur Windows, les types de nuanceurs suivants sont maintenant pris en charge pour le débogage.
- Nuanceurs
RayGen - Nuanceurs
ClosestHit - Nuanceurs
AnyHit - Nuanceurs
Miss
Analyse des blocages du GPU
L’analyse des blocages du GPU est essentielle pour maintenir les performances et la fiabilité des graphiques de jeu. Elle consiste à détecter et à résoudre les problèmes qui font en sorte que le GPU cesse de répondre. Ces problèmes peuvent nuire considérablement à l’expérience de jeu. En analysant les blocages du GPU, vous pouvez repérer les goulots d’étranglement, optimiser les performances et vous assurer que le jeu s’exécute de façon fluide sur diverses configurations matérielles.Analyse des blocages du GPU de PIX sur XBOX pendant le développement
L’analyse des blocages du GPU peut être l’aspect le plus difficile du développement graphique de jeux. Une nouvelle fonctionnalité de capture d’écran lors d’un blocage du GPU a été introduite dans le GDK de mars 2024. Elle prend une capture d’écran du jeu si un blocage du GPU se produit sur une trousse locale. Cette fonctionnalité n’est actuellement pas prise en charge sur les consoles de vente au détail pour des raisons de confidentialité. Pour les captures locales en mode développeur, ajoutez un blob au fichier .hix au moyen de l’APIAdd_Blob_to_GPU_Hang_DumpX. Dans votre gestionnaire, appelez cette API pour ajouter des métadonnées personnalisées au rapport.
L’avantage du fichier blob est que les studios ou les éditeurs disposent souvent de leurs propres outils de suivi et de télémétrie interne. Ceux-ci donnent un meilleur aperçu de l’endroit où se trouvaient les joueurs dans le jeu lorsque le blocage du GPU s’est produit. Cela leur permet d’ajouter du contexte à leurs enquêtes sur les blocages.
Les événements et marqueurs PIX de développement sont les suivants.
PIXBeginEventPIXEndEventPixSetMarker
Analyse des blocages du GPU dans les environnements de vente au détail
Dans l’environnement de vente au détail, les vidages de blocage (fichiers .hix) sont disponibles dans Partner Center. Ces fichiers capturent des renseignements sur le matériel et le jeu, analysent automatiquement le vidage de blocage, puis indiquent la cause première du blocage. Cette approche unifiée du débogage hors ligne et en direct dans PIX améliore l’efficacité du débogage GPU.Veuillez communiquer avec votre gestionnaire des partenaires développeurs (DPM) pour obtenir l’accès aux fichiers .hix.
Retail sont les suivants.
PixBeginRetailEventPixEndRetailEventPIXSetRetailMarker
Retail fonctionnent de la même manière que leurs équivalents non destinés à la vente au détail. L’utilisation des marqueurs PIX Retail entraîne une baisse de performance, semblable à celle des marqueurs PIX standard.
Analyse des performances du GPU
L’analyse des performances du GPU avec PIX repose sur quelques éléments clés qui vous aident à optimiser et à déboguer vos jeux pour de meilleures performances et une plus grande stabilité. Les principaux composants sont les suivants.- Captures GPU : enregistrent tous les appels d’API Direct3D 12 effectués par le jeu, y compris leurs données de paramètres. Cela vous donne accès à un éventail de fonctionnalités de débogage et d’analyse.
- Captures de minutage : combinent les données de profilage du CPU et du GPU en une seule capture pour une analyse approfondie du jeu. Ces données sont recueillies pendant l’exécution du jeu avec une surcharge minimale.
- Shader Explorer : aide à améliorer les performances des nuanceurs et l’utilisation des registres, et à itérer sur ceux-ci. Vous pouvez l’utiliser à partir d’une capture GPU, d’une source de nuanceur HLSL ou d’un fichier .pdb de nuanceur.
- Repérage des goulots d’étranglement : fournit des outils comme GPU Trace pour la mesure de l’occupation et le repérage des goulots d’étranglement.
- Gestion de la mémoire et des ressources : offre une vue API Objects Summary plus rapide, de nouvelles fonctionnalités comme la vue Texture MIP Statistics, et plus encore.
- Lancer de rayons : comprend de nouvelles fonctionnalités comme la coloration selon le coût de l’heuristique de surface et des cartes thermiques par instance pour une analyse détaillée dans l’Acceleration Structure Viewer.
Analyse des performances de PIX sur XBOX : GPU Trace
L’outil GPU Trace offre un moyen rapide et complet d’obtenir une vue d’ensemble de haut niveau de la mesure de l’occupation et de la collecte des compteurs de goulots d’étranglement. Cela se fait sans effectuer ni rejouer une capture GPU. L’une des principales caractéristiques de cet outil est que les mesures de performance et les chronologies proviennent de l’exécution réelle du jeu. GPU Trace enregistre les performances telles qu’elles se sont produites dans le jeu en cours d’exécution, ce qui fournit des données plus précises pour les charges de travail complexes qui se chevauchent. C’est différent des captures GPU, qui rejouent le travail du GPU et peuvent manquer de petits détails de performance liés à l’interaction et à la synchronisation entre le CPU et le GPU. Pour plus de détails sur GPU Trace, consultez Rapid performance investigation with GPU Trace. Figure 9. Outil GPU Trace.




Shader Explorer
La fonctionnalité Shader Explorer est devenue accessible au public dans le GDK d’octobre 2023. Utilisez cette fonctionnalité pour examiner les facteurs qui influent sur les performances des nuanceurs, comme la pression et la durée de vie des registres, le mappage des variables aux registres, le coût d’exécution des instructions, les taux d’émission, et plus encore. Shader Explorer est conçu pour l’itération rapide des nuanceurs, ce qui vous permet d’essayer différentes approches et de voir ce qui fonctionne le mieux. Commencez à utiliser Shader Explorer à partir d’une capture GPU, d’une source de nuanceur HLSL ou d’un fichier .pdb de nuanceur. Utilisez une capture GPU pour apporter diverses modifications dans l’outil, puis renvoyez-les à la capture pour voir les effets immédiats dans l’image. Pour plus d’informations sur Shader Explorer, consultez Optimizing shader performance with PIX’s Shader Explorer.Repérage des goulots d’étranglement
Le GDK de mars 2024 a introduit une fonctionnalité de goulot d’étranglement du cache de paramètres qui aide à visualiser les zones où le cache de paramètres pourrait être sous pression. À mesure que le cache se remplit, le système peut ralentir, ce qui peut nuire à la vitesse et à l’efficacité des exportations de vagues. Cela pourrait entraîner des temps d’exportation plus longs, voire des échecs si le système ne parvient pas à allouer les ressources nécessaires. Le repérage des goulots d’étranglement est essentiel pour récupérer les performances du jeu. Pour plus d’informations et des exemples de goulots d’étranglement, consultez GPU performance tips and tricks.Lancer de rayons
DXR de PIX sur XBOX : Acceleration Structure viewer
L’Acceleration Structure viewer de PIX sur XBOX a été amélioré. Les nouvelles fonctionnalités comprennent :- Une coloration reflétant les coûts de l’heuristique de surface (SAH) ou les branches.
- Une vue de carte thermique par instance pour repérer facilement les possibilités d’optimisation.
- Une section modifiable de la structure d’accélération de niveau supérieur (TLAS) pour modifier les entrées de la TLAS et voir la hiérarchie de volumes englobants (BVH) qui en résulte ainsi que son effet sur les minutages.
La figure 14 montre l’Acceleration Structure viewer de PIX sur XBOX.
Pour des renseignements détaillés sur cette vue et sur DXR sur XBOX, consultez XBOX raytracing: performance and optimization.
DXR de PIX sur Windows : Acceleration Structure viewer
L’Acceleration-Structure Viewer de PIX sur Windows comporte maintenant une vue de visualisation des rayons, qui permet de voir comment les rayons sont projetés sur la géométrie, puis de les tracer. Chaque rayon tracé est invoqué par un appel précis àDispatchRays() dans la liste des événements. Cela représente à la fois les rayons primaires et secondaires. Cependant, contrairement à PIX sur XBOX, les fonctionnalités de couleur des rayons et de carte thermique ne peuvent pas être implémentées ici en raison d’un aperçu limité des BVH. De plus, il n’y a pas d’horodatage en HLSL sur PC.
Une nouvelle arborescence hiérarchique est également offerte. Elle montre les instances et les géométries qui composent votre TLAS et vos structures d’accélération de niveau inférieur (BLAS). Cette vue contient des renseignements sur chaque instance ou géométrie, y compris sa taille, ses indicateurs, sa transformation et d’autres propriétés. Vous pouvez aussi afficher ou masquer chaque instance ou géométrie dans la visionneuse et trier vos BLAS par taille dans la TLAS.
Figure 15. Acceleration Structure viewer de PIX sur Windows.
La figure 15 montre l’Acceleration Structure viewer de PIX sur Windows.
PIX sur Windows comporte également une fonctionnalité de vue Invocations. Utilisez cette vue pour voir toutes les invocations de nuanceurs ClosestHit, AnyHit, Miss ou Callable pour un événement DispatchRays() précis. Cette vue fournit aussi des renseignements pertinents sur l’origine du rayon, les indices de répartition, le type de nuanceur et la direction.
Figure 16. Vue Invocations de PIX sur Windows.

Mémoire et ressources
PIX offre plusieurs fonctionnalités puissantes pour vous aider à comprendre et à optimiser l’utilisation de la mémoire. C’est particulièrement important pour les plateformes dont la mémoire est limitée, comme la XBOX Series S. Une mise à jour du GDK de mars 2024 a fourni 500 Mo de mémoire supplémentaires pour ces consoles, ce qui offre plus de souplesse dans la gestion des ressources.Vue API Objects Summary de PIX sur XBOX
La vue API Objects Summary de PIX sur XBOX affiche tous les objets d’API Direct3D d’une capture. Auparavant, cette vue présentait des problèmes de performance et était difficile à parcourir en raison du grand nombre d’objets. La vue API commence maintenant par une vue sommaire qui se remplit plus rapidement que la vue détaillée. Vous pouvez toujours basculer entre les deux vues dans l’interface utilisateur. Figure 17. Vue API Objects Summary de PIX sur XBOX.
- Accédez à la vue API Object Summary.
- Filtrez pour n’afficher que les ressources.
- Repérez la colonne Size.
- Sélectionnez l’en-tête de la colonne de taille pour trier les éléments par taille.

Vue Pipeline State Object
La vue Pipeline State Object est offerte depuis le GDK de juin 2023. Les performances et la précision de cette vue ont été continuellement améliorées. L’une des principales fonctionnalités est le bouton de filtre. Il exclut tous les objets d’état de pipeline (PSO) inutilisés de la capture pour n’afficher que ceux qui sont utilisés. Cela rend la vue beaucoup plus utile lors d’une capture GPU. Un onglet d’historique indique maintenant quels GID utilisent le PSO sélectionné. Vous pouvez aussi sélectionner l’étape de nuanceur dans un menu déroulant, et la section du milieu affiche les nuanceurs liés à ce PSO. Cette vue comprend également les modifications apportées dans PIX aux sources des nuanceurs. Figure 19. Vue Pipeline State Object de PIX sur XBOX.
Vue Texture MIP Statistics de PIX sur XBOX
La vue Texture MIP Statistics fournit des renseignements précieux sur le nombre de demandes de récupération de texture reçues par chaque ressource. Pour une capture GPU, cette vue affiche toutes les demandes de MIP adressées à cette ressource pendant la lecture et indique le niveau de MIP le plus élevé demandé. Cette vue est utile pour les enquêtes sur les performances. Elle peut aider à déterminer si une ressource crée inutilement des MIP qui ne sont jamais demandés, ou s’il existe une texture pour laquelle seul le MIP 0 est demandé. Ces renseignements peuvent servir de point de départ pour optimiser l’utilisation des ressources. Figure 20. Vue Texture MIP Statistics.
Vue Edits de PIX sur XBOX
La vue Edits est un outil complet de suivi des modifications. Utilisez-la pour accéder à toutes les modifications en cours, les annuler et consulter la liste de tous les GID touchés par ces modifications. Cette vue est particulièrement utile pour apporter des modifications sans avoir à les chercher plus tard. Cliquez avec le bouton droit sur une modification pour la comparer à la source d’origine. Vous obtenez ainsi la différence entre le nuanceur d’origine et la version modifiée. Vous pouvez utiliser votre outil de comparaison de fichiers préféré, comme WinDiff ou Beyond Compare. Configurez-le dans les paramètres généraux, et PIX utilisera votre outil par défaut pour comparer les modifications. Figure 21. Vue Edits.
Vues en direct de la mémoire et des ressources
De nouvelles vues en direct ont été ajoutées pour la gestion de la mémoire et des ressources. Auparavant, le System Monitor de PIX affichait les compteurs, la vue Remote View et l’état de la connexion. Les vues des captures GPU sont intégrées au mode de vue en direct.Vues GPU en direct de PIX sur XBOX
Figure 22. Vues GPU en direct de PIX sur XBOX.
La figure 22 montre la vue GPU en direct de PIX sur XBOX. Le bouton lecture/pause (encadré en rouge) se trouve à côté de l’indicateur d’état. Il indique que la trousse de développement est connectée.
Pour afficher le contenu des vues Live Tools, mettez le jeu en pause. Live Tools se trouve dans l’onglet à côté de System Monitor.
Graphiques d’allocation de mémoire en direct
Les graphiques d’allocation de mémoire présentent des renseignements détaillés sur l’utilisation de la mémoire par votre jeu. Cela comprend la répartition de la mémoire entre le jeu et le système, ainsi que l’utilisation de la mémoire pour les textures, les cibles de rendu et les mémoires tampons. Cette fonctionnalité est conçue pour améliorer les économies de mémoire sur les consoles XBOX Series S. Figure 23. Graphiques d’allocation de mémoire en direct.
Vue Live API Objects
La vue Live API Objects a été intégrée à la section Live tools. En mettant le jeu en pause et en triant par taille, vous pouvez rapidement repérer les éléments volumineux et voir ce qui est chargé et ce qui ne l’est pas. Effectuez ces vérifications directement à partir de la vue en direct. Il n’est donc plus nécessaire d’effectuer une capture GPU. Figure 24. Vue Live API Objects de PIX sur XBOX.

Extensibilité du Mesh and Texture Viewer de PIX sur XBOX
L’extensibilité du Mesh and Texture Viewer est une nouvelle fonctionnalité introduite dans PIX sur XBOX en août 2024. PIX offre diverses façons de visualiser les textures dans un dessin ou une répartition. Par exemple, l’extensibilité du visualiseur de maillages et de textures permet d’afficher les cibles de rendu en mode filaire, de voir le surdessin de chaque pixel ou de déterminer quels pixels ont été dessinés ou non dans l’événement en cours. Cette nouvelle fonctionnalité fournit des visualisations personnalisées au moyen de nuanceurs de calcul pour les mémoires tampons et les textures. Chaque fois que vous sélectionnez une ressource de texture ou de mémoire tampon dans la vue du pipeline de PIX, vous pouvez changer de visualisation en choisissant parmi une liste d’options personnalisées offertes dans le menu déroulant de visualisation. Figure 26. Menu déroulant de visualisation.
Activer la visualisation du Mesh and Texture Viewer
La fonctionnalité de visualisation du Mesh and Texture Viewer est désactivée par défaut. Vous pouvez la réactiver dans les paramètres de PIX. Pour localiser vos nuanceurs personnalisés, ajoutez leur emplacement aux chemins d’extensibilité. Vous devrez fournir les fichiers d’en-tête pertinents si vous souhaitez exposer les fichiers d’en-tête de votre projet aux nuanceurs de calcul, par exemple pour référencer une mémoire tampon constante que vous avez définie dans votre projet. Figure 27. Activer la visualisation du Mesh and Texture Viewer.
Modèle de programmation de l’extensibilité
PIX compile les nuanceurs de sorte que vous ayez accès à toutes les ressources liées par l’appel. Des registres spéciaux donnent accès à toutes les ressources disponibles pour le dessin ou la répartition sélectionnés. Voici quelques exemples :PixExt_SelectedResourceRegister: donne accès à la ressource actuellement sélectionnée dans la vue du pipelinePixExt_RenderTargetRegister0: RTV0PixExt_IndexBufferRegister: mémoire tampon d’indexPixExt_VertexBufferRegister0: mémoire tampon de sommets 0PixExt_IndirectArgs: mémoire tampon d’arguments indirects
void PixExt_StorePixel_Int(uint2 offset, int4 pixel)void PixExt_StoreVertex(uint offset, float4 vertex)
Déclaration de fonction d’extensibilité
La visualisation est définie dans un nuanceur de calcul que vous fournissez. PIX réinterprète les données d’entrée et génère un maillage ou une image. La structurePixExt_ComputeInput est une struct d’assistance facultative qui peut être fournie au point d’entrée du nuanceur de calcul. Celui-ci doit être nommé main. Cette struct encapsule les valeurs système habituelles des nuanceurs de calcul et est présentée dans l’exemple suivant.
Exemples d’extensibilité du Texture Viewer
Voici un exemple de nuanceur de calcul inclus dans le GDK de mars 2024. Il recherche les valeursNaN et colore en magenta tous les pixels trouvés.
PixExt_SelectedResourceRegister référence la ressource sélectionnée dans la vue du pipeline. Il n’est donc plus nécessaire de pointer manuellement vers cette ressource à partir du nuanceur de calcul. Dans l’exemple suivant, la valeur de la texture d’entrée est chargée en utilisant l’ID du thread de répartition comme coordonnées de texture.
PixExt_StorePixel_Float écrit dans la ressource de sortie. Il s’agit d’une texture pour le visualiseur de textures. Pour le visualiseur de maillages, la sortie est une paire de mémoires tampons d’index et de sommets utilisée par PIX pour effectuer le rendu du maillage de sortie.
Prise en charge des fonctionnalités Direct3D
La prise en charge de fonctionnalités Direct3D a été ajoutée à PIX sur XBOX et à PIX sur Windows, comme le montre le tableau suivant.
Les barrières améliorées font partie de la prise en charge des fonctionnalités Direct3D dans PIX sur XBOX depuis le GDK de mars 2023. La prise en charge des vues à ordre de rastérisation (ROV) a été introduite dans le GDK de mars 2024. Cette fonctionnalité indique quand des ROV sont utilisées dans un nuanceur. Les ressources liées s’affichent comme des ROV plutôt que comme des vues d’accès non ordonné (UAV) standard. Prise en charge de
DirectML dans PIX sur XBOX. Pour plus d’informations, communiquez avec votre gestionnaire de compte Microsoft.
PIX sur Windows prend en charge les barrières améliorées, les ROV et DirectML. La prise en charge a également été ajoutée pour les graphes de travail, les tas de téléversement GPU, l’échantillonnage non normalisé et les appareils Direct3D multiples dans un jeu.
Performances des captures de minutage de PIX
Les performances des captures de minutage (Timing Capture) ont été améliorées grâce à l’accélération du chargement des symboles et à la refonte des événements PIX afin de réduire la surcharge du CPU.Fonctionnalités des captures de minutage
En plus des améliorations de performance, de nouvelles fonctionnalités ont été ajoutées aux captures de minutage. Elles comprennent les suivantes.- Vue Summary
- Checklist
- Captures de minutage circulaires
- Vue Memory
- Consolidated Events Editor de la vue Metrics
- Graphique en flammes des fonctions échantillonnées
Vue Summary
La vue Summary a été améliorée pour fournir plus de renseignements qu’auparavant. Figure 28. Vue Summary.



Checklist
La fonctionnalité Checklist de PIX est générée à partir des captures GPU. Depuis le GDK d’octobre 2023, elle a également été étendue aux captures de minutage du CPU. Des règles de détection sont en cours d’ajout. Vous pourrez ajouter vos propres règles personnalisées. Figure 32. Vue Checklist.
Captures de minutage circulaires
Le mode de capture de minutage circulaire a été introduit dans le GDK d’octobre 2023. Ce mode était auparavant appelé captures de minutage continues. Utilisez ce mode pour démarrer une capture et la laisser s’exécuter. Il n’enregistre que les dernières secondes de la capture après que vous l’avez arrêtée. Ce mode est particulièrement utile pour capturer des problèmes de longue durée difficiles à trouver, comme un comportement intermittent qui semble présenter des bogues survenant aléatoirement après de longues périodes de jeu. Les API permettant de prendre en charge ce mode par programmation ont été publiées dans la version de mars 2024. Vous pouvez ainsi intégrer ce mode à vos scénarios d’automatisation. Cependant, les données d’horodatage du GPU ne sont pas prises en charge dans ce mode. Il n’est actuellement pas prévu de les intégrer. Si cette fonctionnalité vous serait utile, communiquez avec l’équipe PIX. Figure 33. Captures de minutage circulaires.
Vue Memory
Une nouvelle vue Memory est offerte dans les captures de minutage depuis le GDK de mars 2024. Elle constitue un outil puissant pour analyser l’utilisation de la mémoire dans vos projets de développement de jeux. Elle vous permet d’enregistrer des renseignements détaillés sur les allocations de mémoire et de repérer les fuites de mémoire potentielles. Pour activer cette fonctionnalité, activez au moins un des types d’allocation ou des événements de défaut de page. Après avoir activé les paramètres nécessaires, exécutez la capture de minutage comme d’habitude. Une fois la capture terminée, la vue Sample Memory Access s’affiche. Elle présente les allocations effectuées par le jeu pendant la capture. Cette vue donne un aperçu de l’endroit où les allocations se produisent au fil du temps et du type d’allocation (CPU, GPU ou outils). Notez qu’il s’agit d’une approche basée sur l’échantillonnage; elle pourrait donc ne pas capturer 100 % des allocations. Figure 34. Paramètres d’activation de la vue Memory.

- Plage de temps
- Taille de page mémoire (par exemple, afficher uniquement les allocations de 64 Ko)
- Désignation (CPU, GPU ou outils)
Consolidated Events Editor
La fonctionnalité Consolidated Events Editor de la vue Metrics regroupe automatiquement les événements de plusieurs images à l’aide de modèles de regroupement spécifiés. Modifiez l’expression régulière pour l’adapter à vos conventions d’affectation de noms. Par exemple, vous pourriez nommer vos événements selon un modèle de numérotation séquentielle (update1 dans frame1, update2 dans frame2 et update3 dans frame3). Vous pouvez facilement les regrouper au moyen d’une expression régulière. Utilisez-les pour analyser l’ensemble d’événements en tant que groupe. C’est utile pour repérer les valeurs aberrantes ou d’autres tendances qui pourraient ne pas être visibles lorsque vous examinez un seul événement. Figure 36. Consolidated Events Editor de la vue Metrics.
Graphique en flammes des fonctions échantillonnées
Les graphiques en flammes des fonctions échantillonnées sont une nouvelle fonctionnalité de PIX. Ces graphiques indiquent quelles fonctions ont été appelées pendant un événement au moyen du graphique qui s’affiche directement sous le nom des événements. Le graphique est généré à partir d’échantillons; un taux d’échantillonnage plus élevé offre donc une plus grande précision. Les graphiques en flammes sont utiles pour visualiser l’arborescence complète des fonctions appelées et leur durée approximative dans la chronologie. Figure 37. Graphique en flammes des fonctions échantillonnées.
La figure 37 montre un exemple de graphique en flammes.
Dispositions de PIX
Les dispositions de PIX peuvent être personnalisées. La figure 38 montre la disposition d’une vue dans PIX et met en évidence ce qui peut être personnalisé. Une vue se compose d’un en-tête d’emplacement et d’un ou de plusieurs emplacements. Vous pouvez déplacer des vues dans n’importe quel en-tête d’emplacement et les sélectionner pour les afficher dans l’emplacement associé. Si aucun autre emplacement n’est regroupé dans une zone précise de l’écran, un emplacement peut être affiché sans en-tête d’emplacement. Figure 38. Disposition de PIX.
Emplacements réductibles
La figure 39 montre comment les vues peuvent être réduites en sélectionnant le bouton Moins dans l’en-tête d’emplacement. Sélectionner de nouveau ce bouton rétablit l’emplacement. Figure 39. Emplacements réductibles
Activer le mode de conception de la disposition
La figure 40 montre l’icône permettant de réorganiser vos vues. Sélectionnez l’icône Design Mode à côté du nom et de l’adresse IP de la trousse de développement connectée pour commencer le processus. Figure 40. Activer le mode de conception de la disposition.
Mode de conception
La figure 41 montre la boîte de dialogue qui s’affiche lorsque le mode de conception est activé. Notez les boutons New Window et New Tab mis en évidence en vert. Pour plus d’informations sur le mode Layout Design, consultez Configuring the PIX UI. L’option permettant d’enregistrer vos dispositions préférées a été ajoutée. À l’occasion, une nouvelle version du GDK réinitialise PIX à la disposition par défaut pour présenter les changements pertinents. Si vous installez un nouveau GDK et préférez votre vue personnalisée à celle par défaut, vous pouvez facilement revenir à votre disposition enregistrée en la sélectionnant dans le menu. Figure 41. Mode de conception.
Boîte de dialogue des dispositions de remplacement
La figure 42 montre la boîte de dialogue permettant de restaurer des dispositions de remplacement. Figure 42. Boîte de dialogue des dispositions de remplacement.
Étapes suivantes
Si vous souhaitez consulter les 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 : G03.EN_Whats_New_In_PIX.XboxDevDays2024.pptx dans Dev Days 2024 US Graphics Track Presentations (en-US) (May 2024) (DevDays2024USGraphicsTrackPresentations-en-US-May2024.ZIP)
- Présentation vidéo : G03US.EN_WhatsNewInPIX.XDD2024.mp4 dans DevDays2024-enGraphicsTrackVideos-DD.EN.2024.05.ZIP
Télécharger les présentations Microsoft PowerPoint et les vidéos
- Accédez à Game Development Kit (GDK) downloads.
- Sous Select file type, sélectionnez Conference Materials, puis Confirm.
- Sous Select build/version number, choisissez les présentations graphiques suivantes.
- Dev Days 2024 US Graphics Track Presentations (en-US) (May 2024)
- Dev Days 2024 (en) Graphics Track Videos (DD.EN.2024.05)
- 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é.
