Interfaz ID3DUserDefinedAnnotation (d3d11_1.h)

La interfaz ID3DUserDefinedAnnotation permite a una aplicación describir secciones conceptuales y marcadores dentro del flujo de código de la aplicación. Una herramienta habilitada correctamente, como Microsoft Visual Studio Ultimate 2012, puede mostrar estas secciones y marcadores visualmente a lo largo de la línea de tiempo de Microsoft Direct3D de la herramienta, mientras que la herramienta depura la aplicación. Estas notas visuales permiten a los usuarios de esta herramienta navegar a partes de la línea de tiempo que son de interés o comprender qué conjunto de llamadas de Direct3D generan determinadas secciones del código de la aplicación.

Herencia

La interfaz ID3DUserDefinedAnnotation hereda de la interfaz IUnknown . ID3DUserDefinedAnnotation también tiene estos tipos de miembros:

Métodos

La interfaz ID3DUserDefinedAnnotation tiene estos métodos.

 
ID3DUserDefinedAnnotation::BeginEvent

Marca el principio de una sección del código de evento.
ID3DUserDefinedAnnotation::EndEvent

Marca el final de una sección del código de evento.
ID3DUserDefinedAnnotation::GetStatus

Determina si la aplicación que realiza la llamada se ejecuta en una herramienta de generación de perfiles de Microsoft Direct3D.
ID3DUserDefinedAnnotation::SetMarker

Marca un único punto de ejecución en el código.

Comentarios

Los métodos de ID3DUserDefinedAnnotation no tienen ningún efecto cuando la aplicación que realiza la llamada no se ejecuta en una herramienta de generación de perfiles específica de Direct3D, como Visual Studio Ultimate 2012.

Los contextos de dispositivo de Microsoft Direct3D 11 publican la interfaz ID3DUserDefinedAnnotation . Por lo tanto, ID3DUserDefinedAnnotation tiene las mismas reglas de subproceso que la interfaz ID3D11DeviceContext o cualquier otra interfaz de contexto. Para obtener más información sobre el subproceso de Direct3D, consulte MultiThreading. Para recuperar la interfaz ID3DUserDefinedAnnotation para el contexto, llame al método QueryInterface para el contexto (por ejemplo, ID3D11DeviceContext::QueryInterface). En esta llamada, debe pasar el identificador de ID3DUserDefinedAnnotation.

La interfaz ID3DUserDefinedAnnotation es microsoft Direct3D 10 y posterior equivalente a las funciones PIX de Direct3D 9 (funciones D3DPERF_*).

Nota Al establecer la marca de D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY en la aplicación, se reemplaza la llamada a D3DPerf_SetOptions(1). Sin embargo, para evitar que las herramientas de depuración de Direct3D enlacen la aplicación, la aplicación también puede llamar a ID3DUserDefinedAnnotation::GetStatus para determinar si se ejecuta en una herramienta de depuración de Direct3D y, a continuación, salir según corresponda.
 
Debe llamar a los métodos BeginEvent y EndEvent en pares; Los pares de llamadas a estos métodos pueden anidar dentro de pares de llamadas a estos métodos en un nivel superior en la pila de llamadas de la aplicación. En otras palabras, una sección "Dibujar mundo" puede contener completamente otra sección denominada "Dibujar árboles", que a su vez puede contener completamente una sección denominada "Draw Oaks". Solo puede asociar un método EndEvent con el método BeginEvent más reciente, es decir, los pares no se pueden superponer. No se puede llamar a endEvent para cualquier beginEvent que precede al BeginEvent más reciente. De hecho, el tiempo de ejecución interpreta el primer EndEvent como final del segundo BeginEvent.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d3d11_1.h

Consulte también

Interfaces de versión comunes

IUnknown