Condividi tramite


Elenco eventi grafici

Elenco eventi grafici, uno degli strumenti di diagnostica della grafica presenti in Visual Studio, consente di esaminare gli eventi di Direct3D che si sono verificati durante un particolare frame del gioco o dell'app e di analizzarne gli effetti.Ciò include eventi di supporto quali la creazione di un dispositivo o di un oggetto.

Questo è lo strumento Elenco eventi grafici:

Elenco di eventi con "Vertice" nel relativo nome.

Spostamento nell'Elenco eventi grafici

Poiché tanti eventi Direct3D possono essere generati da un unico frame in un gioco o in un'applicazione tipica, Elenco eventi grafici dispone di funzionalità che consentono di trovare rapidamente eventi importanti e informazioni correlate.

Per ridurre il numero di eventi che non interessano in Elenco eventi grafici, gli eventi AddRef e Release vengono omessi ed è possibile filtrare gli eventi per nome, uno alla volta, come mostrato nell'illustrazione precedente, che è filtrata per visualizzare gli eventi con Vertex nei rispettivi nomi. In alternativa, è possibile utilizzare un elenco di parole chiave separate da punti e virgola, ad esempio "Disegno;Primitiva" per visualizzare gli eventi con Draw o Primitive nei relativi nomi.

[!NOTA]

L'elenco di filtri è riservato spazio ad esempio, “disegno,Primitiva„ e “disegno, La primitiva„ è diverso.

Poiché le chiamate Draw sono eventi particolarmente importanti, l'Elenco eventi grafici fornisce i pulsanti Passa a chiamata di disegno precedente e Passa a chiamata di disegno successiva che si trovano nell'angolo superiore sinistro della finestra, in questo modo è possibile trovarli rapidamente e spostarsi da uno all'altro.

Hh873200.collapse_all(it-it,VS.110).gifCategorie di eventi

Gli eventi visualizzati in Elenco eventi grafici sono organizzati in quattro categorie; tre rappresentano i singoli eventi e la quarta è utilizzata per raggruppare gli eventi correlati.Ogni evento viene visualizzato insieme a un'icona che indica la categoria a cui appartiene.

Category

Descrizione

Icona dell'evento di disegno Eventi di disegno

Contrassegna un evento di disegno verificatosi durante il frame acquisito.

Icona evento pre-frame Evento precedente al frame

Contrassegna un evento che si è verificato prima del frame acquisito, ad esempio il dispositivo o la creazione di un oggetto.

Icona marcatore di eventi definita dall'utente Marcatore definito dall'utente o gruppo di eventi

Contrassegna un solo evento, o un gruppo di eventi correlati, come definito dall'applicazione.I gruppi possono essere espansi per indicare agli eventi che includono.

Gli eventi in-frame e pre-frame sono generati nel runtime di Direct3D e corrispondono alle chiamate all'API di Direct3D.Non è necessario eseguire alcuna operazione per attivare tali eventi.

Gli eventi e i gruppi definiti dall'utente sono specifici di una particolare app.È possibile utilizzare eventi definiti dall'utente per contrassegnare gli eventi significativi che si verificano nell'applicazione in modo da poter correlarli agli eventi di grafica in Elenco eventi grafici.Ad esempio, è possibile utilizzare un marcatore quando un determinato tipo di oggetto viene disegnato in modo che sia possibile trovare facilmente la chiamata di disegno in Elenco eventi grafici.È possibile utilizzare i gruppi di eventi definiti dall'utente per organizzare gli eventi correlati in gruppi o in gerarchie affinché lo spostamento a Elenco eventi grafici più facilmente.Ad esempio, è possibile raggruppare gli eventi correlati al rendering dell'interfaccia.

Per creare dei marcatori di eventi e gruppi di eventi definiti dall'utente nella propria app, utilizzare le stesse API utilizzate da Direct3D per contrassegnare gli eventi e i gruppi da utilizzare in altri strumenti Direct3D.In Direct3D 11.1, le API appartengono all'interfaccia ID3DUserDefinedAnnotation. Per le versioni precedenti di Direct3D, utilizzare la famiglia di API di D3DPERF_.

Descrizione API

API (Direct3D 11.1)

API (Direct3D 11.0 e precedente)

Iniziare un gruppo eventi definito dall'utente

ID3DUserDefinedAnnotation::BeginEvent

D3DPerf_BeginEvent

Terminare un gruppo eventi definito dall'utente.

ID3DUserDefinedAnnotation::EndEvent

D3DPerf_EndEvent

Creare un marcatore di eventi definito dall'utente

ID3DUserDefinedAnnotation::SetMarker

D3DPerf_SetMarker

Hh873200.collapse_all(it-it,VS.110).gifCollegamenti agli oggetti grafici

Per comprendere gli eventi di grafica, potrebbero essere necessarie informazioni aggiuntive sullo stato del dispositivo o sugli oggetti Direct3D a cui viene fatto riferimento dall'evento.In Elenco eventi grafici sono presenti i collegamenti alle informazioni per ciascun evento.

Utilizzo dell'Elenco eventi grafici per individuare i problemi di rendering

Utilizzando l'Elenco eventi grafici con altri strumenti di diagnostica della grafica, è possibile individuare i problemi di rendering in un evento Direct3D specifico.Dopo avere identificato l'evento in cui il problema in cui si è verificato per la prima volta, è possibile utilizzare altri strumenti di diagnostica della grafica per determinare la causa del problema.

Per i problemi di rendering in cui manca un oggetto (ovvero, l'oggetto non viene visualizzato dove si pensa che sia) è possibile utilizzare Elenco eventi grafici insieme alla finestra Fasi pipeline grafica.Quando si seleziona un evento Dispatch o Draw nell'elenco di eventi, nella finestra Fasi pipeline grafica viene visualizzato l'effetto dell'evento su ogni fase della pipeline.Passando attraverso questi eventi e verificando le fasi della pipeline, è possibile rilevare quando è stato eseguito il rendering dell'oggetto, anche se non viene visualizzato nella destinazione di rendering.

Per comprendere i problemi di rendering in cui un oggetto viene eseguito il rendering sbagliato- che sia, l'oggetto è presente, ma un corretto l'aspetto è possibile utilizzare Elenco eventi grafici per esaminare gli eventi acquisiti negli elementi grafici registrano il documento.Quando si seleziona un elenco degli eventi di Dispatch o di Draw nel caso, Visual Studio visualizzare la destinazione di rendering come si presentava quando si è verificato l'evento.Esecuzione di questi eventi e controllo come cambia la destinazione di rendering negli elementi grafici registrare la finestra del documento, è possibile osservare che l'effetto di eventi specifici e pertanto comprendere come destinazione di rendering finale è stata sviluppata da molti eventi (talvolta un errore di rendering causato da come i diversi eventi interagiscono nella destinazione di rendering.

Vedere anche

Attività

Procedura dettagliata: oggetti mancanti a causa dello stato del dispositivo