Concours AOMEI World Backup Day jusqu'au 3 avril 2024 Inclus

jeudi 11 août 2022

Microsoft PIX 2208.10001

 Microsoft PIX est conçu pour être utilisé comme un outil de réglage et de débogage des performances pour les développeurs de jeux.
Microsoft PIX peut également être utilisé pour analyser les jeux DirectX 12 sur Windows. Il utilise le processus de capture GPU pour restituer des images uniques. Le processus de capture GPU donne aux développeurs la possibilité d'approfondir les détails spécifiques du processus.
Les développeurs trouveront la possibilité de régler leurs jeux DirectX 12, en les gardant pertinents dans l'arène de développement de jeux PC toujours compétitive.

Cette version contient la prise en charge de DirectX 12 Ultimate , le débogage au niveau de la source des shaders DXIL, une nouvelle chronologie de capture GPU, une corrélation des événements CPU / GPU dans les nouvelles captures de synchronisation et de nombreuses autres corrections de bugs et améliorations des performances.

Cette version prend en charge de nombreuses nouvelles fonctionnalités, notamment :

  • Améliorations de la capture GPU
    • Prise en charge du modèle Shader 6.7
    • Améliorations de l'API programmatique
    • Sélection de l'état d'alimentation du GPU
    • Découpage de capture expérimental
  • Améliorations de la capture temporelle
    • Ressources D3D dans les captures temporelles
    • Budgets de performances dans la vue Mesures de capture temporelle
    • Exportation de données à partir de la vue Mesures de capture temporelle
  • Corrections de bugs et autres petites améliorations

Améliorations de la capture GPU :
Prise en charge du modèle Shader 6.7

Le mois dernier, l'équipe DirectX a publié Shader Model 6.7, et la version PIX d'aujourd'hui inclut sa prise en charge. Cette prise en charge vous permet de capturer, rejouer, déboguer et profiler vos shaders Shader Model 6.7.

Améliorations de l'API programmatique

Merci pour les commentaires que nous avons reçus sur les nouvelles API programmatiques que nous avons ajoutées l'année dernière. Cette version PIX répond à une grande partie des commentaires. En particulier:

  • PIX affiche désormais les captures prises via PIXBeginCapture() dans l'interface utilisateur PIX, si l'interface utilisateur PIX est attachée à l'application.
  • Nous avons ajouté l'API PIXSetHUDOptions(), qui permet aux applications de masquer le HUD de capture PIX après le chargement de WinPixGpuCapturer.dll.
    • Nous affichons également un meilleur HUD par défaut lorsque l'application charge manuellement WinPixGpuCapturer.dll
  • Nous avons rendu facultatif le paramètre de chemin du fichier de capture de PIXBeginCapture().
    • Si l'interface utilisateur PIX (ou pixtool) est attachée à l'application lorsqu'elle appelle PIXBeginCapture() avec un chemin de fichier de capture NULL, alors PIX utilisera un nom de fichier temporaire.
    • Si l'interface utilisateur PIX (ou pixtool) n'est pas attachée à l'application lorsque PIXBeginCapture() est appelé avec un chemin de fichier de capture NULL, alors PIXBeginCapture() échouera.
  • Nous avons ajouté l'API PIXForceD3D11on12().

Veuillez continuer à nous contacter si vous avez des commentaires ou des suggestions concernant cette fonctionnalité ou d'autres fonctionnalités PIX.

Sélection de l'état d'alimentation du GPU

Cette version ajoute la possibilité de mettre le GPU dans une variété d'états d'alimentation différents tout en profilant une capture GPU. Ces états d'alimentation sont stables, mais dans certaines circonstances extrêmes, un état d'alimentation peut ne pas être durable pendant de longues périodes. PIX vous informera lorsque le GPU n'a pas été en mesure de maintenir un état d'alimentation demandé.

Sur certains appareils, cette nouvelle fonctionnalité vous permet de mettre le GPU dans un état d'alimentation plus représentatif que votre jeu verrait lors de son exécution, par rapport à l'état d'alimentation stable indéfiniment durable obtenu via ID3D12Device::SetStablePowerState(). La nouvelle fonctionnalité vous permet également de cibler intentionnellement des états d'alimentation moins puissants (par exemple, des états d'alimentation conscients de la batterie) qui représentent mieux les scénarios d'utilisation que vous souhaitez optimiser.

Ces nouveaux états d'alimentation sont définis par chaque fournisseur de matériel. Actuellement, AMD et Intel définissent des états d'alimentation personnalisés pour leur matériel pris en charge. D'autres fournisseurs de matériel définiront des états d'alimentation personnalisés dans une future version PIX. Un grand merci à nos partenaires matériels pour avoir rendu cela possible !

Image de l'état de l'alimentation AMD

Image de l'état de l'alimentation Intel

Découpage de capture expérimental

Cette version ajoute une option expérimentale à pixtool qui vous permet de prendre un fichier de capture volumineux et de "recapturer" une région de celui-ci dans un fichier de capture séparé plus petit. Cela peut être utile pour simplifier une reproduction de bogue dans un fichier de capture ciblé qui peut être envoyé à une autre équipe (ou entreprise) pour enquête.

La fonctionnalité se marie particulièrement bien avec la fonctionnalité Exporter vers C++ que nous avons ajoutée plus tôt cette année. Par exemple, disons que vous constatez une corruption du rendu dans votre jeu : vous pouvez prendre une capture de cette image, réduire la capture à quelques appels Draw problématiques, exporter cette capture simplifiée vers C++, puis envoyer ce code C++ simplifié sur à une équipe (ou entreprise) partenaire pour enquête.

Cette commande montre comment vous pouvez prendre un fichier de capture et créer un nouveau fichier de capture qui contient le travail GPU qui se trouvait entre l'ID global 15 et 20 (inclus) dans le fichier de capture d'origine :

pixtool . exe -- sortie = verbeux ouvert - capture

“ c : \myreadabledirectory\MyOriginalFile . wpix ” recapture - région

“ c : \mywriteabledirectory\MyRecapturedFile . wpix ” -- début = 15 -- fin = 20  

Nous prévoyons d'ajouter cette fonctionnalité à l'interface utilisateur PIX dans la fonctionnalité. En attendant, nous aimerions entendre vos commentaires à ce sujet : veuillez nous contacter si vous avez des idées.

Améliorations de la capture temporelle
Ressources D3D dans les captures temporelles

Les captures temporelles incluent désormais une option permettant d'enregistrer des informations sur toutes les ressources D3D et les objets de tas alloués et libérés pendant l'exécution de la capture. Cette option donne un aperçu de la mémoire totale utilisée pour contenir les objets D3D et identifie les objets spécifiques qui sont en mémoire, à tout moment de la capture.

Pour activer cette fonctionnalité, assurez-vous que la case "Ressources GPU" est cochée dans les options de capture de synchronisation. Après avoir pris votre capture, sélectionnez une plage de temps, puis sélectionnez "Objets d'API de ressource" ou "Objets d'API de tas" dans le menu déroulant "Éléments à afficher". Notez que seules les ressources validées et placées sont prises en charge dans cette version.

Ressources d'image dans les captures temporelles

Budgets de performances dans la vue Mesures de capture temporelle

Les lignes de budget de performances sont désormais disponibles dans la vue des métriques. Les budgets et les marqueurs de budget facilitent la recherche rapide des points du graphique qui dépassent leur budget. Les budgets de performance peuvent être spécifiés pour n'importe quelle métrique. Les budgets sont souvent attribués pour une variété de scénarios, y compris le temps de trame, la durée pendant laquelle un sous-système particulier est autorisé à s'exécuter par trame ou pour aider à suivre l'utilisation de la mémoire.

Budgets de performance d'image dans les métriques de capture temporelle

Exportation de données à partir de la vue Mesures de capture temporelle

La vue Métriques prend désormais en charge l'exportation de données pour analyse dans d'autres outils tels que Microsoft Excel. Les données sont exportées au format csv. Les valeurs de tous les points des métriques actuellement représentées graphiquement sont exportées.

Exportation de données d'image à partir de la vue des métriquesImage exportée des données à partir de la vue des métriques

Corrections de bugs et autres petites améliorations
  • Correction d'une erreur de couche de débogage DXR au moment de la capture
  • Correction d'un crash du moteur lorsque le fichier PDB est défini sur le shader compilé
  • Rendre la sélection de l'adaptateur plus résistante aux changements de pilote
  • Correction de la chaîne "Capture Time" pour afficher l'heure UTC
  • Correction de la condition de course de capture de synchronisation lors de l'utilisation d'une application de courte durée
  • Restaurer le comportement de tri pour la vue Autos
  • Correction de l'affichage du canal alpha uniquement dans la visionneuse de texture
  • Résoudre certains problèmes avec les applications x86 sur ARM64
  • Correction du moteur envoyant le nom PDB au lieu du hachage pour les chaînes d'interface utilisateur
  • Prise en charge de l'affichage du contenu du tampon avant l'événement sélectionné
  • Afficher la barre "Travail en cours" dans la vue Tableau des objets de l'API
  • Faire en sorte que la sortie IA recherche "SV_Position" insensible à la casse
  • Correction des captures temporelles avec une durée très courte ne s'arrêtant pas automatiquement
  • Correction d'un crash de référence nulle à l'arrêt
  • Correction d'un plantage lors du chargement de l'état d'affichage des métriques corrompues au démarrage.
  • Correction des rapports BlendOpAlpha en tant que BlendOp dans la vue d'état
  • Assurez-vous que l'élément de la bande d'onglets du document disparaît à la fermeture du dernier document
  • Correction d'un plantage lors de l'utilisation d'anciennes mises en page avec des noms de vue qui n'existent plus
  • Assurez-vous que la liste déroulante doc disparaît lorsque le parent devient non compressé
  • Lier Ctrl+F9 pour activer/désactiver le point d'arrêt
  • Forcer le nom de l'onglet à correspondre à la nouvelle vue dans l'éditeur de mise en page
  • Correction/ajout de couleurs de thème pour les valeurs de surveillance modifiées/NanInf
  • Correction de l'actualisation inutile des détails de la plage lors du chargement du symbole
  • Correction d'un crash lorsque le chargement de la liste d'événements des détails de la plage est annulé
  • Améliorer le mode d'édition dans les conditions de point d'arrêt
  • Ajouter des messages hors limites pour inclure des tas de descripteurs nuls
  • Accélérez la coloration HLSL

Page d’accueil : Microsoft PIX

    


Aucun commentaire: