Compartir a través de


Lista de eventos gráficos

Utilice la Lista de eventos de gráficos del Diagnóstico de gráficos de Visual Studio para explorar los eventos Direct3D que se registraron mientras se presentaba un fotograma de su juego o aplicación.

Esta es la ventana de Lista de eventos de gráficos:

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

NotaNota

A partir de Visual Studio 2013 Update 3, las ventanas de las herramientas de diagnóstico de gráficos se hospedan en una copia independiente del shell de Visual Studio.Este shell personalizado, llamado “análisis de gráficos”, elimina menús y opciones innecesarios. Por lo demás, la lista de eventos gráficos y el flujo de trabajo son los mismos que antes.Para obtener más información sobre este cambio, vea Información general sobre diagnóstico de gráficos.

Uso de la lista de eventos

Cuando selecciona un evento en la lista de eventos, se refleja en la información que muestran otras herramientas de Diagnóstico de gráficos. Si utiliza la lista en sintonía con estas otras herramientas, puede examinar un problema de presentación en detalle para determinar su causa. Para obtener más información sobre cómo solucionar problemas de presentación utilizando la lista de eventos junto con otras herramientas de Diagnóstico de gráficos, vea Ejemplos de diagnóstico de gráficos.

Utilizar las funciones de la lista de eventos eficazmente es importante para eludir fotogramas complejos que pueden contener miles de eventos. Para utilizar la lista de eventos eficazmente, elija la vista que mejor le convenga, utilice la búsqueda para filtrar la lista de eventos, siga los vínculos para aprender más sobre los objetos de Direct3D que están asociados con un evento y utilice los botones de flecha para moverse entre las llamadas de dibujo rápidamente.

Vistas de la lista de eventos

La lista de eventos tiene dos vistas diferentes que organizan los eventos de gráficos de maneras diferentes, para adaptarse así a su flujo de trabajo y preferencias. La primera vista es la vista de llamadas de dibujo, que organiza los eventos y su estado asociado de forma jerárquica. La segunda vista es la vista de escala de tiempo, que organiza los eventos cronológicamente, en una lista plana.

  • La vista de Llamadas de dibujo
    Muestra los eventos capturados y su estado en una jerarquía. El nivel superior de la jerarquía está hecho de eventos, como llamadas de dibujo, borrados, presentes y los relacionados con las vistas. En la lista de eventos, puede expandir las llamadas de dibujo para mostrar el estado del dispositivo en el momento de la llamada a draw y expandir el estado para mostrar los eventos que establecen sus valores. En este nivel, también puede ver si un estado concreto se estableció en un fotograma previo o si se ha establecido más de una vez desde la última llamada a draw.

  • La vista de Escala de tiempo
    Muestra todos los eventos capturados en orden cronológico. Esta manera de organizar la lista de eventos es la misma que en las versiones anteriores de Visual Studio.

Cambio de la vista de la lista de eventos

  • En la ventana Lista de eventos de gráficos, encima de la lista de eventos, busque el cuadro desplegable Vista y elija entre la vista de Escala de tiempo o la de Llamadas de dibujo.

Filtrado de eventos

Puede utilizar el Cuadro de búsqueda, situado en la esquina superior derecha de la ventana Lista de eventos de gráficos, para filtrar la lista de eventos de modo que incluya solo los eventos cuyo nombre contenga determinadas palabras clave. Puede especificar una palabra clave, como Vértice, como se muestra en la ilustración anterior, o varias palabras clave separadas por un punto y coma, como Dibujo;Primitivo, lo que mostrará eventos que tengan tanto Draw como Primitive en sus nombres. Las búsquedas distinguen los espacios, por ejemplo, VSSet y VS Set son búsquedas diferentes, de modo que debe realizarlas con cuidado.

Cómo moverse entre llamadas de dibujo

Dada la importancia de examinar las llamadas a Draw, puede usar los botones Ir a la siguiente llamada a draw e Ir a la llamada a draw anterior, situados en la esquina superior izquierda de la ventana Lista de eventos gráficos, para buscar las llamadas a draw y pasar rápidamente de una a otra.

Vínculos a objetos gráficos

Para entender ciertos eventos gráficos, es posible que necesite información adicional sobre el estado actual del dispositivo o los objetos Direct3D que tienen referencias en los eventos. Muchos eventos ofrecen vínculos a esta información, que puede seguir para obtener más detalles.

Tipos y marcadores de eventos

Los eventos que se muestran en la lista de eventos se organizan en cuatro categorías: eventos generales, eventos de dibujo, grupos de eventos definidos por el usuario y marcadores de eventos definidos por el usuario. Excepto los eventos generales, cada evento se muestra junto con un icono que indica la categoría a la que pertenece.

Iconos

Descripción del evento

(sin icono)

Evento general

Cualquier evento que no sea un evento definido por el usuario, un grupo de eventos definido por el usuario o un evento de dibujo.

El icono del evento de dibujo

Evento de dibujo

Marca un evento de dibujo que ha ocurrido durante el fotograma capturado.

Icono de marcador de eventos definido por el usuario

Grupo de eventos definido por el usuario

Eventos relacionados con grupos, definidos por la aplicación.

Icono de marcador de eventos definido por el usuario

Marcador de eventos definido por el usuario

Marca una ubicación específica, definida por la aplicación.

Eventos definidos por el usuario

Los eventos definidos por el usuario son específicos de la aplicación. Puede utilizarlos para correlacionar eventos importantes que ocurren en su aplicación con eventos de la Lista de eventos de gráficos. Por ejemplo, puede crear grupos de eventos definidos por el usuario para organizar eventos relacionados, como los que presentan la interfaz de usuario, en grupos o jerarquías, para poder examinar la lista de eventos más fácilmente o crear marcadores cuando se dibujan ciertos tipos de objetos y así poder encontrar fácilmente sus eventos de gráficos en la lista de eventos.

Para crear grupos y marcadores en la aplicación, utilice las mismas API que ofrece Direct3D para que la utilicen otras herramientas de depuración de Direct3D. La tabla siguiente resume las API que puede utilizar para crear grupos y marcadores en diferentes versiones de Direct3D.

Descripción de la API

ID3D11DeviceContext2 (Direct3D 11,2)

ID3DUserDefinedAnnotation (Direct3D 11.1)

Familia D3DPerf_ API (Direct3D 11.0 y anteriores)

Empezar un grupo de eventos

BeginEventInt

BeginEvent

D3DPerf_BeginEvent

Finalizar un grupo de eventos

EndEventInt

EndEvent

D3DPerf_EndEvent

Crear un marcador de eventos

SetMarkerInt

SetMarker

D3DPerf_SetMarker

Puede utilizar cualquiera de estas API que sea compatible con su versión de Direct3D, por ejemplo, si tiene como destino la API de Direct3D 11.1, puede utilizar SetMarker o D3DPerf_SetMarker para crear un marcador de evento, pero no SetMarkerInt, porque solo está disponible en Direct3D 11.2, e incluso puede juntar las que son compatibles con versiones diferentes de Direct3D en la misma aplicación.

Vea también

Tareas

Tutorial: Objetos ausentes debido al estado del dispositivo