Condividi tramite


Debug grafica DirectX

Visual Studio consente di eseguire il debug degli errori di grafica in giochi o app DirectX. Usando gli strumenti di diagnostica grafica, è possibile identificare specifici errori di rendering ed eseguire un esame mirato dei fattori che potrebbero contribuire a causarli.

In questa sezione

  • Panoramica della diagnostica grafica
    Viene fornita un'introduzione agli strumenti di diagnostica grafica e al relativo flusso di lavoro.

  • Cattura informazioni grafica
    Per usare la diagnostica grafica al fine di esaminare un problema di rendering nell'app, è necessario prima registrare informazioni su come l'app stessa usa DirectX. Durante la sessione di registrazione, nel corso della normale esecuzione dell'app, acquisire (ossia selezionare) i frame che interessano. Le acquisizioni contengono informazioni dettagliate sulla modalità di rendering dei frame. È possibile salvare le informazioni acquisite come documento di log della grafica da esaminare in un secondo momento o da condividere con gli altri membri del team.

  • Documento log grafica
    Per iniziare l'esame di un log di grafica registrato, usare la finestra dei documenti di log della grafica per selezionare un frame acquisito, o anche un pixel specifico, ed esaminare nel dettaglio quali eventi (ossia quali chiamate API di DirectX) vi influiscono.

  • Analisi dei frame di grafica
    Dopo aver selezionato un frame, usare l'analisi dei frame di grafica per esaminare e ottimizzare le prestazioni di rendering.

  • Elenco eventi grafici
    Dopo aver selezionato un frame, è possibile usare l'elenco degli eventi grafici per esaminarne gli eventi e determinare se sono correlati al problema di rendering.

  • Fasi pipeline grafica
    Nella finestra Fasi pipeline grafica è possibile analizzare le modalità di elaborazione dell'evento attualmente selezionato in ogni fase della pipeline grafica, per identificare l'origine del problema di rendering. L'esame delle fasi della pipeline è particolarmente utile quando un oggetto non viene visualizzato a causa di una trasformazione non corretta o quando una delle fasi produce output non corrispondente a quanto atteso dalla fase successiva.

  • Stack di chiamate eventi grafici
    È possibile usare lo Stack di chiamate eventi grafici per esaminare lo stack di chiamate dell'evento attualmente selezionato, in modo da poter raggiungere la porzione di codice dell'app correlata al problema di rendering.

  • Cronologia pixel grafica
    Usando la finestra Cronologia pixel grafica per analizzare il modo in cui il pixel attualmente selezionato è interessato dagli eventi che lo influenzano, è possibile identificare l'evento o la combinazione di eventi che causano determinati tipi di problemi di rendering. La cronologia del pixel è particolarmente utile quando il rendering di un oggetto viene eseguito in modo errato, perché l'output del pixel shader è a sua volta errato o è combinato in modo errato con il buffer del frame, o quando un oggetto non viene nemmeno visualizzato in quanto i pixel vengono rimossi prima ancora di raggiungere il buffer frame.

  • Tabella oggetti grafici
    È possibile usare la Tabella oggetti grafici per esaminare le proprietà e i contenuti di risorse e oggetti specifici Direct3D che hanno effetto sull'evento attualmente selezionato. La tabella degli oggetti può aiutare a determinare il contesto dei dispositivi grafici attivi durante un evento nonché a esaminare i contenuti di risorse grafiche come i buffer costanti, i buffer vertici e le trame.

  • Debugger HLSL
    Per esaminare come si comporta il codice dello shader per l'evento nonché per la fase della pipeline grafica attualmente selezionati, usare il debugger HLSL per avanzare nel codice, esaminare il contenuto delle variabili ed eseguire altre attività di debug comuni. È anche possibile usare il debugger HLSL per esaminare il codice del compute shader, indipendentemente dal fatto che i risultati vengano ulteriormente elaborati dalla pipeline grafica o siano stati appena letti dall'app.

  • Strumento di acquisizione da riga di comando
    Usare lo strumento di acquisizione da riga di comando per acquisire e riprodurre rapidamente le informazioni grafiche senza usare Visual Studio o l'acquisizione a livello di codice. In particolare, è possibile usare lo strumento di acquisizione da riga di comando per l'automazione o in un ambiente di test.

  • Esempi di diagnostica grafica
    Vari esempi mostrano come usare gli strumenti di diagnostica grafica per diagnosticare diversi tipi di problemi di rendering.

Sezioni correlate

Titolo

Descrizione

Debug in Visual Studio

Introduce le funzionalità di debug in Visual Studio.

Grafica e giochi DirectX

Include articoli che illustrano le tecnologie grafiche DirectX.