Cet article est basé sur la présentation What’s new in PIX donnée lors des XBOX Dev Days 2024. Ces informations étaient à jour en mai 2024. Plusieurs fonctionnalités ont pu être modifiées ou 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 se sont concentrées sur la réduction du 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 désormais sur la console jusqu’à ce qu’elles soient nécessaires, ce qui accélère le processus d’itération. De plus, de nouveaux schémas de compression sont disponibles pour les fichiers de capture GPU, ainsi que des fonctionnalités d’analyse secondaire utilisant des données mises en cache. Ces améliorations vous permettent de déboguer et d’optimiser vos jeux rapidement et efficacement, pour un flux de travail de développement plus fluide et plus simple.PIX on XBOX et PIX on Windows : performances de l’interface utilisateur
Les améliorations des performances de l’interface utilisateur de PIX visaient à renforcer l’efficacité de l’interface de PIX on XBOX et de PIX on Windows. Des signalements de comportements saccadés et lents dans l’interface utilisateur de PIX ont conduit à une enquête. Celle-ci a révélé une utilisation sous-optimale du framework d’interface utilisateur Windows Presentation Foundation (WPF). Cette utilisation sous-optimale de WPF entraînait une charge de travail importante sur le thread principal, à l’origine de la lenteur. Pour résoudre ce problème, les efforts se sont concentrés sur un moteur PIX plus asynchrone. Davantage d’opérations sont désormais effectuées en parallèle, comme l’ouverture de fichiers ou la collecte des compteurs.Améliorations du temps d’itération des développeurs pour les captures GPU PIX on 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 conserve la plupart des données capturées sur le disque SSD de la console. Cela réduit la quantité de données transférées lorsque vous ouvrez un fichier. Vous pouvez ainsi effectuer une analyse immédiatement, sans le délai généralement associé au transfert de données. Figure 1. Capture GPU PIX on XBOX.

Performances d’analyse
Un nouveau schéma de compression a été implémenté pour les fichiers de capture GPU et tous les transferts réseau PIX. Cela améliore l’efficacité du stockage et de la transmission des données. Davantage de données sont désormais 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 des données donne désormais la priorité aux événements PIX de niveau supérieur, qui sont affichés en premier. Les nœuds feuilles sont collectés plus tard en arrière-plan. Cette approche garantit que les données critiques sont rapidement accessibles. Le nombre de passes de calcul des moyennes est passé de 48 en octobre 2023 à 19 en mars 2024.Fonctionnalités d’analyse secondaire utilisant des données mises en cache
L’analyse secondaire correspond à la deuxième exécution d’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 nécessaire à l’analyse. Cette approche permet une collecte parallèle des données de la chronologie. Les informations critiques sont rapidement disponibles, 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 métriques de performances et les analyser, identifier 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 également un flux de travail d’analyse plus réactif et plus efficace.Améliorations du temps d’itération des développeurs pour les captures GPU PIX on Windows
Les performances d’analyse de PIX on Windows ont été améliorées grâce à l’affichage des données de base avant le démarrage d’une analyse. Cela simplifie le processus. Vous pouvez désormais accéder immédiatement à des informations comme les ressources liées et les objets 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 désormais dix fois plus rapide dans certains scénarios par rapport aux versions antérieures de PIX on Windows. D’autres fonctionnalités de performances d’analyse sont notamment les suivantes.- L’onglet du pipeline se remplit désormais plus rapidement.
- Le suivi des accès des nuanceurs (Shader Access Tracking) est désormais une fonctionnalité facultative. Pour l’activer, sélectionnez le bouton Gather Accessed Resources.
- Les plug-ins mis à jour des fabricants de GPU ont amélioré la vitesse de collecte des données.
Débogage GPU avec PIX on XBOX
Auparavant, le débogage GPU était un scénario secondaire pour PIX. Grâce aux progrès de la technologie GPU, il s’agit désormais de l’un des scénarios les plus importants. Les dernières mises à jour du débogage GPU de PIX on 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 sont 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 désormais 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.
- Identifier les problèmes dans les calculs numériques.
- Intercepter les violations d’accès mémoire.
La figure 3 montre la boîte de dialogue Live Shader Debug de PIX on XBOX.
Exceptions de nuanceur dans les captures GPU
Les exceptions de nuanceur peuvent désormais être consultées dans les captures GPU. La vue des exceptions de nuanceur fournit des informations détaillées sur les exceptions survenues tout au long de l’image. Cette 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 affiche une liste des nuanceurs dans lesquels des exceptions se produisent, identifiés par leur hachage. Développez ces entrées pour afficher 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 également 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 ou un sous-ensemble de types d’exceptions, et voir quels nuanceurs sont concernés. Les exceptions de mémoire dans PIX on XBOX sont toujours 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 désormais 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 wave (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 wave dans la vue Watch. Vous disposez ainsi d’une vue unique de l’ensemble de la wave. Auparavant, vous deviez changer l’invocation examinée pour voir les voies. Plusieurs options de configuration permettent de filtrer les résultats. Vous pouvez surveiller toutes les voies, une plage spécifique, uniquement les voies actives/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 apparaissait 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 lesquels ne le sont pas. Auparavant, seuls les éléments qui ne fonctionnaient pas étaient affichés. Il existe désormais une vue complète de ce qui est présent. Vous pouvez également ajouter et supprimer des chemins de symboles et réanalyser les chemins des bases de données du programme (PDB) si nécessaire. Figure 8. Vue Shader Symbols.
Prise en charge du débogage des nuanceurs DXR
Les nuanceurs DXR dans PIX on XBOX sont désormais au même niveau que 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, il est recommandé d’utiliser des PDB allégés (slim). Compilez avec un ensemble d’indicateurs différent pour obtenir un PDB allégé, à partir duquel PIX peut ensuite régénérer les informations de débogage. 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. Les nuanceurs DXR sont moins nombreux que les autres en termes de permutations. Lors d’un pas à pas détaillé dansTraceRays(), le débogueur démarre dans l’implémentation TraceRay du pilote. Poursuivez le pas à pas à partir de là, ou placez des points d’arrêt dans vos nuanceurs HLSL (High-Level Shader Language) pour accéder immédiatement à l’endroit que vous souhaitez examiner.
Pour PIX on Windows, les types de nuanceurs suivants sont désormais 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 graphismes des jeux. Elle consiste à détecter et à résoudre les problèmes qui empêchent le GPU de répondre. Ces problèmes peuvent nuire considérablement à l’expérience de jeu. En analysant les blocages du GPU, vous pouvez identifier les goulots d’étranglement, optimiser les performances et vous assurer que le jeu s’exécute de manière fluide sur diverses configurations matérielles.Analyse des blocages du GPU avec PIX on XBOX pendant le développement
L’analyse des blocages du GPU peut être l’aspect le plus difficile du développement graphique d’un jeu. Une nouvelle fonctionnalité de capture d’écran lors d’un blocage du GPU a été introduite dans le GDK de mars 2024. Elle effectue une capture d’écran du jeu si un blocage du GPU se produit sur un kit local. Cette fonctionnalité n’est actuellement pas prise en charge en environnement retail pour des raisons de confidentialité. Pour les captures en mode développeur local, ajoutez un blob au fichier .hix à l’aide 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 leur propre suivi et de leur télémétrie interne. Ceux-ci donnent une meilleure idée 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 investigations sur les blocages.
Les événements et marqueurs PIX de développement sont les suivants.
PIXBeginEventPIXEndEventPixSetMarker
Analyse des blocages du GPU en environnement retail
En environnement retail, les vidages de blocage (fichiers .hix) sont disponibles dans Partner Center. Ces fichiers capturent des informations sur le matériel et le jeu, analysent automatiquement le vidage de blocage, puis indiquent la cause racine du blocage. Cette approche unifiée du débogage hors connexion et en direct dans PIX améliore l’efficacité du débogage GPU.Contactez votre Developer Partner Manager (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 retail. L’utilisation des marqueurs PIX Retail entraîne une baisse des performances, similaire à celle des marqueurs PIX standard.
Analyse des performances du GPU
L’analyse des performances du GPU à l’aide de PIX fait appel à plusieurs é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.- GPU Captures : enregistre tous les appels de l’API Direct3D 12 effectués par le jeu, y compris leurs données de paramètres. Cela vous donne accès à un ensemble de fonctionnalités de débogage et d’analyse.
- Timing Captures : combine les données de profilage du CPU et du GPU dans une seule capture pour une analyse approfondie du jeu. Ces données sont collectées 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 dessus. Vous pouvez l’utiliser à partir d’une capture GPU, d’une source de nuanceur HLSL ou d’un fichier .pdb de nuanceur.
- Identification des goulots d’étranglement : fournit des outils comme GPU Trace pour la mesure de l’occupation et l’identification des goulots d’étranglement.
- Gestion de la mémoire et des ressources : fournit une vue API Objects Summary plus rapide, de nouvelles fonctionnalités comme la vue Texture MIP Statistics, et plus encore.
- Raytracing : inclut 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 avec PIX on 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 relire une capture GPU. L’une des principales caractéristiques de cet outil est que les mesures de performances 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, fournissant des données plus précises pour les charges de travail complexes qui se chevauchent. À l’inverse, les captures GPU relisent le travail du GPU et peuvent passer à côté de petits détails de performances liés à l’interaction et à la synchronisation entre le CPU et le GPU. Pour plus d’informations sur GPU Trace, consultez Investigation rapide des performances avec GPU Trace. Figure 9. Outil GPU Trace.




Shader Explorer
La fonctionnalité Shader Explorer est devenue publique avec le GDK d’octobre 2023. Utilisez-la 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 sur les nuanceurs : vous pouvez ainsi expérimenter différentes approches et déterminer celle 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 réinjectez-les dans la capture pour voir immédiatement leurs effets dans l’image. Pour plus d’informations sur Shader Explorer, consultez Optimisation des performances des nuanceurs avec le Shader Explorer de PIX.Identification des goulots d’étranglement
Le GDK de mars 2024 a introduit une fonctionnalité de goulot d’étranglement du cache de paramètres qui permet de visualiser les zones où le cache de paramètres peut être sous pression. À mesure que le cache se remplit, le système peut ralentir, ce qui peut affecter la vitesse et l’efficacité des exportations de waves. Cela peut entraîner des temps d’exportation plus longs, voire des échecs si le système ne parvient pas à allouer les ressources nécessaires. L’identification des goulots d’étranglement est essentielle pour récupérer des performances dans le jeu. Pour plus d’informations et des exemples de goulots d’étranglement, consultez Conseils et astuces sur les performances du GPU.Raytracing
PIX on XBOX DXR : Acceleration Structure Viewer
L’Acceleration Structure Viewer de PIX on XBOX a été amélioré. Les nouvelles fonctionnalités sont notamment les suivantes :- Une coloration reflétant les coûts de l’heuristique de surface (SAH) ou les branches.
- Une vue de carte thermique par instance pour trouver facilement les possibilités d’optimisation.
- Une section modifiable de la structure d’accélération de niveau supérieur (TLAS) permettant de modifier les entrées de la TLAS et de voir la hiérarchie de volumes englobants (BVH) qui en résulte ainsi que son effet sur les temps d’exécution.
La figure 14 montre l’Acceleration Structure Viewer de PIX on XBOX.
Pour des informations détaillées sur cette vue et sur DXR sur XBOX, consultez Raytracing XBOX : performances et optimisation.
PIX on Windows DXR : Acceleration Structure Viewer
L’Acceleration Structure Viewer de PIX on Windows dispose désormais d’une vue de visualisation des rayons, qui permet de voir comment les rayons sont projetés sur la géométrie, puis de les suivre. Chaque rayon tracé est appelé par un appel spécifique àDispatchRays() dans la liste des événements. Cela représente à la fois les rayons primaires et secondaires. Toutefois, contrairement à PIX on XBOX, les fonctionnalités de couleur des rayons et de carte thermique ne peuvent pas être implémentées ici en raison d’informations limitées sur les BVH. De plus, il n’y a pas d’horodatage dans HLSL sur PC.
Une nouvelle vue arborescente de la hiérarchie est également disponible. Elle affiche 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 informations sur chaque instance ou géométrie, notamment sa taille, ses indicateurs, sa transformation et d’autres propriétés. Vous pouvez également afficher ou masquer chaque instance ou géométrie individuelle dans la visionneuse et trier vos BLAS par taille dans la TLAS.
Figure 15. Acceleration Structure Viewer de PIX on Windows.
La figure 15 montre l’Acceleration Structure Viewer de PIX on Windows.
PIX on Windows dispose également d’une fonctionnalité de vue Invocations. Utilisez cette vue pour afficher toutes les invocations de nuanceurs ClosestHit, AnyHit, Miss ou Callable pour un événement DispatchRays() spécifique. Cette vue fournit également des informations pertinentes sur l’origine du rayon, les indices de dispatch, le type de nuanceur et la direction.
Figure 16. Vue Invocations de PIX on 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, offrant davantage de flexibilité dans la gestion des ressources.Vue API Objects Summary de PIX on XBOX
La vue API Objects Summary de PIX on XBOX affiche tous les objets de l’API Direct3D d’une capture. Auparavant, cette vue présentait des problèmes de performances et était difficile à parcourir en raison du grand nombre d’objets. La vue API commence désormais par une vue récapitulative 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 on XBOX.
- Accédez à la vue API Object Summary.
- Appliquez un filtre pour n’afficher que les ressources.
- Recherchez 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 disponible 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 désormais quels GID utilisent le PSO sélectionné. Vous pouvez également 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 inclut également les modifications apportées dans PIX aux sources des nuanceurs. Figure 19. Vue Pipeline State Object de PIX on XBOX.
Vue Texture MIP Statistics de PIX on XBOX
La vue Texture MIP Statistics fournit des informations précieuses sur le nombre de requêtes d’extraction de texture reçues par chaque ressource. Pour une capture GPU, cette vue affiche toutes les requêtes 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 investigations de 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 informations peuvent constituer un point de départ pour optimiser l’utilisation des ressources. Figure 20. Vue Texture MIP Statistics.
Vue Edits de PIX on 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 afficher la liste de tous les GID concernés par ces modifications. Cette vue est particulièrement utile pour apporter des modifications sans avoir à les rechercher ensuite. Cliquez avec le bouton droit sur une modification pour la comparer à la source d’origine. Cela fournit une 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 on XBOX
Figure 22. Vues GPU en direct de PIX on XBOX.
La figure 22 montre la vue GPU en direct de PIX on XBOX. Le bouton lecture/pause (encadré en rouge) se trouve à côté de l’indicateur d’état. Il indique que le kit de développement est connecté.
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 affichent des informations détaillées sur l’utilisation de la mémoire par votre jeu. Cela inclut la répartition de la mémoire entre le jeu et le système, ainsi que son utilisation pour les textures, les cibles de rendu et les 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 identifier 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. Cela évite d’avoir à effectuer une capture GPU. Figure 24. Vue Live API Objects de PIX on XBOX.

Extensibilité de Mesh Viewer et Texture Viewer dans PIX on XBOX
L’extensibilité de Mesh Viewer et Texture Viewer est une nouvelle fonctionnalité introduite dans PIX on XBOX en août 2024. PIX offre plusieurs moyens de visualiser les textures dans un appel draw ou dispatch. Par exemple, l’extensibilité de Mesh Viewer et Texture Viewer permet d’afficher les cibles de rendu en mode filaire, de voir le surdessin (overdraw) 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 à l’aide de nuanceurs de calcul pour les tampons et les textures. Chaque fois que vous sélectionnez une ressource de texture ou de tampon dans la vue du pipeline de PIX, vous pouvez changer de visualisation en choisissant parmi une liste d’options personnalisées disponibles dans le menu déroulant de visualisation. Figure 26. Menu déroulant de visualisation.
Activer la visualisation de Mesh Viewer et Texture Viewer
La fonctionnalité de visualisation de Mesh Viewer et 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 appropriés si vous souhaitez exposer les fichiers d’en-tête de votre projet aux nuanceurs de calcul, par exemple pour référencer un tampon constant que vous avez défini dans votre projet. Figure 27. Activer la visualisation de Mesh Viewer et Texture Viewer.
Modèle de programmation de l’extensibilité
PIX compile les nuanceurs de façon à vous donner accès à toutes les ressources liées par l’appel. Des registres spéciaux donnent accès à toutes les ressources disponibles pour l’appel draw ou dispatch sélectionné. En voici quelques exemples :PixExt_SelectedResourceRegister: donne accès à la ressource actuellement sélectionnée dans la vue du pipelinePixExt_RenderTargetRegister0: RTV0PixExt_IndexBufferRegister: tampon d’indexPixExt_VertexBufferRegister0: tampon de vertex 0PixExt_IndirectArgs: 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 d’un nuanceur de calcul et est illustré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 depuis le 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 dispatch 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 tampons d’index et de vertex utilisée par PIX pour effectuer le rendu du maillage de sortie.
Prise en charge des fonctionnalités Direct3D
La prise en charge des fonctionnalités Direct3D a été ajoutée à PIX on XBOX et à PIX on Windows, comme indiqué dans le tableau suivant.
Les barrières améliorées font partie de la prise en charge des fonctionnalités Direct3D dans PIX on XBOX depuis le GDK de mars 2023. La prise en charge des vues ordonnées par 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 apparaissent comme des ROV au lieu de vues d’accès non ordonné (UAV) standard. Prise en charge de
DirectML dans PIX on XBOX. Pour plus d’informations, contactez votre gestionnaire de compte Microsoft.
PIX on 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 chargement GPU, l’échantillonnage non normalisé et l’utilisation de plusieurs appareils Direct3D dans un jeu.
Performances des Timing Captures PIX
Les performances des Timing Captures 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 Timing Captures
Outre les améliorations des performances, de nouvelles fonctionnalités ont été ajoutées aux Timing Captures. En voici la liste.- Vue Summary
- Checklist
- Timing Captures circulaires
- Vue Memory
- Consolidated Events Editor de la vue Metrics
- Graphe en flammes des fonctions échantillonnées
Vue Summary
La vue Summary a été enrichie pour fournir davantage d’informations qu’auparavant. Figure 28. Vue Summary.



Checklist
La fonctionnalité Checklist de PIX est générée à l’aide des captures GPU. Depuis le GDK d’octobre 2023, elle a également été étendue aux Timing Captures 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.
Timing Captures circulaires
Le mode Circular Timing Capture a été introduit dans le GDK d’octobre 2023. Ce mode s’appelait auparavant Continuous Timing Captures. Utilisez ce mode pour démarrer une capture et la laisser s’exécuter. Seules les dernières secondes de la capture sont enregistrées une fois que vous l’arrêtez. Ce mode est particulièrement utile pour capturer des problèmes de longue durée difficiles à détecter, comme un comportement intermittent qui semble présenter des bogues survenant de manière aléatoire après de longues périodes de jeu. Des 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. Toutefois, 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, contactez l’équipe PIX. Figure 33. Timing Captures circulaires.
Vue Memory
Une nouvelle vue Memory est disponible dans les Timing Captures 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 informations détaillées sur les allocations de mémoire et d’identifier les fuites de mémoire potentielles. Pour activer cette fonctionnalité, activez au moins l’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 Timing Capture 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 fournit des informations sur l’emplacement des allocations au fil du temps et sur le type d’allocation (CPU, GPU ou outils). Notez qu’il s’agit d’une approche par échantillonnage : elle peut 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, n’afficher que 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 de nommage. Par exemple, vous pouvez 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 à l’aide d’une expression régulière. Utilisez-les pour analyser l’ensemble des événements en tant que groupe. C’est utile pour identifier les valeurs aberrantes ou d’autres tendances qui pourraient ne pas être visibles en examinant un seul événement. Figure 36. Consolidated Events Editor de la vue Metrics.
Graphe en flammes des fonctions échantillonnées
Les graphes en flammes des fonctions échantillonnées sont une nouvelle fonctionnalité de PIX. Ces graphes affichent les fonctions appelées pendant un événement, à l’aide du graphe qui apparaît directement sous les noms des événements. Le graphe est généré à partir d’échantillons : un taux d’échantillonnage plus élevé offre donc une plus grande précision. Les graphes en flammes sont utiles pour visualiser l’arborescence complète des fonctions appelées et leur durée approximative dans la chronologie. Figure 37. Graphe en flammes des fonctions échantillonnées.
La figure 37 montre un exemple de graphe en flammes.
Dispositions de PIX
Les dispositions de PIX sont personnalisables. La figure 38 montre la disposition d’une vue dans PIX et met en évidence les éléments personnalisables. Une vue se compose d’un en-tête d’emplacement et d’un ou 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 spécifique de l’écran, un emplacement peut être affiché sans en-tête. Figure 38. Disposition de PIX.
Emplacements réductibles
La figure 39 montre comment réduire des vues en sélectionnant le bouton Moins dans l’en-tête de l’emplacement. Sélectionnez à nouveau ce bouton pour restaurer 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 du kit de développement connecté pour commencer. 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 de conception de la disposition, consultez Configuration de l’interface utilisateur de PIX. Une option permettant d’enregistrer vos dispositions préférées a été ajoutée. Il arrive qu’une nouvelle version du GDK rétablisse la disposition par défaut de PIX afin de présenter les changements pertinents. Si vous installez un nouveau GDK et préférez votre vue personnalisée à la vue 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 alternatives
La figure 42 montre la boîte de dialogue permettant de restaurer des dispositions alternatives. Figure 42. Boîte de dialogue des dispositions alternatives.
Étapes suivantes
Si vous souhaitez consulter les supports de présentation liés à cette vue d’ensemble, téléchargez les fichiers suivants depuis 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 à Téléchargements du Game Development Kit (GDK).
- 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é.
