Partager via


INTERFACE ID3DUserDefinedAnnotation (d3d11_1.h)

L’interface ID3DUserDefinedAnnotation permet à une application de décrire des sections conceptuelles et des marqueurs dans le flux de code de l’application. Un outil correctement activé, tel que Microsoft Visual Studio Ultimate 2012, peut afficher visuellement ces sections et marqueurs le long de la ligne de temps Microsoft Direct3D de l’outil, tandis que l’outil débogue l’application. Ces notes visuelles permettent aux utilisateurs d’un tel outil d’accéder aux parties de la ligne de temps intéressantes ou de comprendre quel ensemble d’appels Direct3D sont produits par certaines sections du code de l’application.

Héritage

L’interface ID3DUserDefinedAnnotation hérite de l’interface IUnknown. ID3DUserDefinedAnnotation a également les types de membres suivants :

Méthodes

L’interface ID3DUserDefinedAnnotation a ces méthodes.

 
ID3DUserDefinedAnnotation ::BeginEvent

Marque le début d’une section du code d’événement.
ID3DUserDefinedAnnotation ::EndEvent

Marque la fin d’une section du code d’événement.
ID3DUserDefinedAnnotation ::GetStatus

Détermine si l’application appelante s’exécute sous un outil de profilage Microsoft Direct3D.
ID3DUserDefinedAnnotation ::SetMarker

Marque un point d’exécution unique dans le code.

Remarques

Les méthodes de ID3DUserDefinedAnnotation n’ont aucun effet lorsque l’application appelante ne s’exécute pas sous un outil de profilage spécifique à Direct3D comme Visual Studio Ultimate 2012.

L’interface ID3DUserDefinedAnnotation est publiée par les contextes d’appareil Microsoft Direct3D 11. Par conséquent, ID3DUserDefinedAnnotation a les mêmes règles de thread que l’interface ID3D11DeviceContext ou toute autre interface de contexte. Pour plus d’informations sur le threading Direct3D, consultez MultiThreading. Pour récupérer l’interface ID3DUserDefinedAnnotation pour le contexte, appelez la méthode QueryInterface pour le contexte (par exemple, ID3D11DeviceContext ::QueryInterface). Dans cet appel, vous devez passer l’identificateur de ID3DUserDefinedAnnotation.

L’interface ID3DUserDefinedAnnotation est l’équivalent microsoft Direct3D 10 et ultérieur des fonctions PIX Direct3D 9 (fonctions D3DPERF_*).

Note La définition de l’indicateur D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY dans votre application remplace l’appel D3DPerf_SetOptions(1). Toutefois, pour empêcher les outils de débogage Direct3D de raccorder votre application, votre application peut également appeler ID3DUserDefinedAnnotation ::GetStatus pour déterminer si elle s’exécute sous un outil de débogage Direct3D, puis quitter en conséquence.
 
Vous devez appeler les méthodes BeginEvent et EndEvent par paires ; les paires d’appels à ces méthodes peuvent imbriquer dans des paires d’appels à ces méthodes à un niveau plus élevé dans la pile des appels de l’application. En d’autres termes, une section « Draw World » peut contenir entièrement une autre section nommée « Draw Trees », qui peut à son tour contenir entièrement une section appelée « Draw Oaks ». Vous pouvez uniquement associer une méthode EndEvent à la méthode BeginEvent la plus récente, c’est-à-dire que les paires ne peuvent pas se chevaucher. Vous ne pouvez pas appeler un EndEvent pour n’importe quel BeginEvent qui a précédé l’événement BeginEvent le plus récent. En fait, le runtime interprète le premier EndEvent comme terminant le deuxième BeginEvent.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête d3d11_1.h

Voir aussi

Interfaces de version courantes

IUnknown