Liste des événements Graphics
La liste des événements Graphics des outils Graphics Diagnostics de Visual Studio vous permet d'explorer les événements Direct3D enregistrés lors du rendu d'un frame de votre jeu ou application.
Voici la fenêtre Liste des événements Graphics :
Notes
Depuis Visual Studio 2013 Update 3, les fenêtres de l'outil Graphics Diagnostics sont hébergées dans une copie indépendante de l'IDE Visual Studio.Cet environnement personnalisé, appelé Analyse Graphics, élimine les menus et les options inutiles, sans toutefois toucher à la fenêtre Liste des événements Graphics et au flux de travail.Pour plus d'informations sur ce changement, consultez Vue d'ensemble de Graphics Diagnostics.
Utilisation de la liste des événements
Quand vous sélectionnez un événement dans la liste des événements, cela se reflète aussitôt dans les informations affichées par les autres outils Graphics Diagnostics ; en combinant la liste des événements à ces autres outils, vous pouvez examiner un problème de rendu dans les détails pour en identifier la cause. Pour en savoir plus sur la façon de résoudre les problèmes de rendu en combinant la liste des événements aux autres outils Graphics Diagnostic, consultez Exemples Graphics Diagnostics.
Il est important de savoir utiliser efficacement les fonctionnalités de la liste des événements pour gérer les frames complexes, qui peuvent contenir plusieurs milliers d'événements. Pour utiliser la liste des événements de manière efficace, choisissez l'affichage qui vous convient le mieux, utilisez la fonction de recherche pour filtrer la liste des événements, suivez les liens pour en savoir plus sur les objets Direct3D associés à un événement, puis utilisez les boutons fléchés pour parcourir rapidement les appels de dessin.
Affichages de la liste des événements
La liste des événements propose deux affichages différents qui organisent les événements graphiques de différentes manières pour mieux prendre en compte votre flux de travail et vos préférences. Le premier est l'affichage Appels de dessin qui organise les événements et leur état associé de façon hiérarchisée. Le deuxième est l'affichage Chronologie qui organise les événements par ordre chronologique sous forme de liste plate.
Affichage Appels de dessin
Affiche les événements capturés et leur état de façon hiérarchisée. Le niveau supérieur de la hiérarchie est constituée d'événements tels que des appels de dessin, des effacements, des présences et ceux en rapport avec les affichages. Dans la liste des événements, vous pouvez développer les appels de dessin pour afficher l'état de l'appareil au moment où l'appel de dessin a été émis. Vous pouvez même développer chaque type d'état pour afficher les événements qui ont défini leur valeur. À ce niveau, vous pouvez aussi déterminer si un état particulier a été défini dans un frame précédent ou s'il a été défini plusieurs fois depuis le dernier appel de dessin.Affichage Chronologie
Affiche chaque événement capturé par ordre chronologique. Ce mode d'organisation de la liste des événements est le même que dans les versions précédentes de Visual Studio.
Pour modifier le mode d'affichage de la liste des événements
- Dans la fenêtre Liste des événements Graphics, au-dessus de la liste des événements, repérez la liste déroulante Affichage et choisissez l'affichage Chronologie ou Appels de dessin.
Filtrage des événements
Vous pouvez utiliser la zone Rechercher (située dans l'angle supérieur droit de la fenêtre Liste des événements Graphics) pour filtrer la liste des événements et afficher uniquement ceux dont le nom contient les mots clés spécifiés. Vous pouvez spécifier des mots clés uniques comme Vertex (comme dans l'illustration précédente) ou des mots clés multiples en utilisant une liste délimitée par des points-virgules comme Dessin;Primitive (qui correspondent aux événements dont le nom contient Draw ou Primitive). Étant donné que les recherches respectent les espaces blancs (par exemple, VSSet et VS Set sont des recherches différentes), définissez vos recherches avec soin.
Exploration des appels de dessin
L'examen des appels de dessin (Draw) étant particulièrement important, vous pouvez utiliser les boutons Accéder à l'appel de dessin suivant et Accéder à l'appel de dessin précédent (situés dans l'angle supérieur gauche de la fenêtre Liste des événements Graphics) pour rechercher et parcourir rapidement les appels de dessin.
Liens vers les objets graphiques
Pour comprendre certains événements graphiques, il peut être nécessaire d'obtenir des informations supplémentaires sur l'état actuel de l'appareil ou des objets Direct3D référencés par l'événement. Bon nombre d'événements proposent des liens que vous pouvez suivre pour accéder à des informations supplémentaires.
Types d'événements et marqueurs d'événements
Les événements affichés dans la liste des événements sont organisés en quatre catégories : événements généraux, événements de dessin, groupes d'événements définis par l'utilisateur et marqueurs d'événements définis par l'utilisateur. À l'exception des événements généraux, chaque événement est associé à une icône qui indique sa catégorie d'appartenance.
Icône |
Description de l'événement |
---|---|
(pas d'icône) |
|
|
|
|
|
|
Événements définis par l'utilisateur
Les événements définis par l'utilisateur sont propres à votre application. Vous pouvez vous en servir pour établir une corrélation entre les événements importants qui se produisent dans votre application et les événements figurant dans la liste des événements Graphics. Par exemple, vous pouvez créer des groupes d'événements définis par l'utilisateur pour organiser les événements associés (par exemple, ceux qui affichent votre interface utilisateur) sous forme de groupes ou de hiérarchies afin de faciliter la navigation dans la liste des événements. De même, vous pouvez créer des marqueurs quand certains types d'objets sont dessinés afin de trouver facilement les événements graphiques correspondants dans la liste des événements.
Pour créer des groupes et des marqueurs dans votre application, vous devez utiliser les mêmes API Direct3D que celles utilisées par les autres outils de débogage Direct3D. Le tableau ci-dessous récapitule les API que vous pouvez utiliser pour créer des groupes et des marqueurs dans les différentes versions de Direct3D.
Description de l'API |
ID3D11DeviceContext2 (Direct3D 11,2) |
ID3DUserDefinedAnnotation (Direct3D 11.1) |
Famille d'API D3DPerf_ (Direct3D version 11.0 et antérieures) |
---|---|---|---|
Commencer un groupe d'événements |
BeginEventInt |
BeginEvent |
D3DPerf_BeginEvent |
Terminer un groupe d'événements |
EndEventInt |
EndEvent |
D3DPerf_EndEvent |
Créer un marqueur d'événement |
SetMarkerInt |
SetMarker |
D3DPerf_SetMarker |
Vous pouvez utiliser n'importe laquelle de ces API à condition qu'elle soit prise en charge par votre version de Direct3D (par exemple, si vous visez l'API Direct3D 11.1, vous pouvez utiliser SetMarker ou D3DPerf_SetMarker pour créer un marqueur d'événement, mais pas SetMarkerInt, car elle n'est disponible que dans Direct3D 11.2). Vous pouvez même combiner dans une même application celles qui prennent en charge différentes versions de Direct3D.
Voir aussi
Tâches
Procédure pas à pas : objets manquants en raison de l'état du périphérique