Lista de eventos gráficos

La Lista de eventos de gráficos, que es una de las herramientas de diagnóstico de gráficos de Visual Studio, puede ayudarle a explorar los eventos de Direct3D producidos durante un fotograma determinado del juego o aplicación y analizar sus efectos.Esto incluye admitir eventos como la creación del dispositivo o de objetos.

Esta es la Lista de eventos gráficos:

Lista de eventos que tienen "Índice" en el nombre.

Dado que muchos eventos de Direct3D se pueden generar mediante un solo cuadro en un juego o una aplicación típicos, la Lista de eventos gráficos tiene características que pueden ayudarle a encontrar rápidamente eventos e información relacionada importantes.

Para reducir el número de eventos sin interés de la Lista de eventos de gráficos, se omiten los eventos AddRef y Release; también puede filtrar los eventos por nombre, bien uno a uno, tal como se muestra en la ilustración anterior, que está filtrada para mostrar los eventos cuyo nombre contiene Vertex, o mediante una lista de palabras clave delimitada por signos de punto y coma, como por ejemplo, "Draw;Primitive", para mostrar los eventos cuyo nombre contiene Draw o Primitive.

[!NOTA]

La lista de filtros es apreciable espacio- para el ejemplo, “dibujo; Primitivo” y “dibujo; El primitivo” es diferente.

Dado que las llamadas a Draw son eventos especialmente importantes, la Lista de eventos gráficos proporciona los botones de Ir a la siguiente llamada a draw e Ir a la llamada anterior a draw, que se encuentran en la esquina superior izquierda de la ventana, para poder encontrarlos y desplazarse entre ellos rápidamente.

Hh873200.collapse_all(es-es,VS.110).gifCategorías de eventos

Los eventos que se muestran en la Lista de eventos de gráficos se organizan en cuatro categorías; tres que representan eventos individuales, y una cuarta que se utiliza para agrupar eventos relacionados.Cada evento se muestra junto con un icono que indica la categoría a la que pertenece.

Categoría

Descripción

El icono del evento de dibujo Evento draw

Marca un evento draw que se produjo durante el cuadro capturado.

Icono de evento anterior a la trama Evento de premarco

Marca un evento que se produjo antes del marco capturado, por ejemplo, creación de dispositivos u objetos.

Icono de marcador de eventos definido por el usuario Marcador definido por el usuario o grupo de eventos

Marca un evento único, o grupo de eventos relacionados, definido por la aplicación.Los grupos se pueden expandir para mostrar los eventos que incluyen.

Los eventos previos al fotograma y en el fotograma se compilan en el runtime de Direct3D, y corresponden a llamadas API de Direct3D.No tiene que hacer nada para habilitar estos eventos.

Los eventos y grupos definidos por el usuario son específicos de una aplicación determinada.Puede utilizar los eventos definidos por el usuario para marcar los eventos importantes que se producen en su aplicación para poder correlacionarlos con los eventos de gráficos de la Lista de eventos gráficos.Por ejemplo, podría usar un marcador cuando alguna clase de objeto se dibuje de forma que pueda buscar con facilidad su llamada a draw en la Lista de eventos gráficos.Puede utilizar los grupos de eventos definidos por el usuario para organizar los eventos relacionados en grupos o jerarquías que le permitirán examinar la Lista de eventos gráficos más fácilmente.Por ejemplo, puede agrupar los eventos relacionados con la representación de la interfaz.

Para crear marcadores de eventos definidos por el usuario y grupos de eventos definidos por el usuario en la aplicación, utilice las mismas API que utiliza Direct3D para marcar los eventos y grupos para usarlos en otras herramientas Direct3D.En Direct3D 11.1, las API pertenecen a la interfaz ID3DUserDefinedAnnotation; para versiones anteriores de Direct3D, use la familia de D3DPERF_ de API.

Descripción de la API

API (Direct3D 11.1)

API (Direct3D 11.0 y anteriores)

Iniciar un grupo de eventos definido por el usuario

ID3DUserDefinedAnnotation::BeginEvent

D3DPerf_BeginEvent

Finalizar un grupo de eventos definido por el usuario

ID3DUserDefinedAnnotation::EndEvent

D3DPerf_EndEvent

Cree un marcador de eventos definido por el usuario

ID3DUserDefinedAnnotation::SetMarker

D3DPerf_SetMarker

Hh873200.collapse_all(es-es,VS.110).gifVínculos a los objetos gráficos

Para entender los eventos de gráficos, puede que necesite información adicional sobre el estado del dispositivo o los objetos de Direct3D actuales a los que hace referencia en el evento.La Lista de eventos de gráficos proporciona vínculos a esta información para cada evento.

Utilizar la lista de eventos de gráficos para buscar problemas de representación

Al usar la Lista de eventos gráficos junto con otras herramientas de diagnóstico de gráficos, puede aislar problemas de representación para un evento específico de Direct3D.Cuando haya identificado el evento en el que apareció por primera vez el problema, puede usar otras herramientas de diagnóstico de gráficos para determinar la causa del problema.

Para los problemas de representación donde falta el objeto, es decir, el objeto no aparece donde se espera, puede usar la Lista de eventos gráficos junto con la ventana de Etapas de canalización de gráficos.Al seleccionar un evento Draw o Dispatch en la lista de eventos, la ventana Etapas de canalización de gráficos muestra el efecto del evento en cada fase de la canalización.Al recorrer estos eventos y observar las fases de la canalización, puede detectar cuando se mostró el objeto, aunque no se muestre en el destino de representación.

Para entender mejor los problemas de representación en los que se genera un objeto incorrecto- que es, el objeto está presente, pero tiene un incorrecto aspecto- puede utilizar Lista de eventos de gráficos para examinar los eventos que se capturan en el documento del registro de gráficos.Al seleccionar un evento de Draw o de Dispatch en la lista de eventos, Visual Studio muestra el destino de representación que existía cuando se produjo el evento.Recorrer estos eventos y observando cómo cambia de destino de representación de gráficos registrar la ventana de documento, puede observar el efecto de eventos concretos y por tanto entender cómo el destino de representación final ha aumentado por muchos eventos (a veces un error de representación se produce porque cómo diferentes eventos interactúan en el destino de representación.

Vea también

Tareas

Tutorial: Objetos ausentes debido al estado del dispositivo