Condividi tramite


Procedura dettagliata: cattura programmatica delle informazioni grafica

In questa procedura dettagliata viene illustrato come utilizzare la diagnostica della grafica di Visual Studio a livello di codice per acquisire informazioni grafiche da un'app Direct3D.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Preparazione del computer per utilizzare l'acquisizione a livello di codice.

  • Preparazione dell'app per utilizzare l'acquisizione a livello di codice.

  • Configurazione del nome e della posizione del file di log di grafica.

  • Utilizzo dell'API CaptureCurrentFrame.

Preparazione del computer per utilizzare l'acquisizione a livello di codice

L'API di acquisizione a livello di codice utilizza Remote Tools per Visual Studio per fornire la funzionalità di acquisizione.Il computer in cui viene eseguita l'applicazione deve disporre degli strumenti remoti installati, anche quando si utilizzano l'acquisizione a livello di codice nel computer locale.Visual Studio non deve essere in esecuzione durante l'acquisizione a livello di codice in un computer locale.

Per utilizzare le API di acquisizione remota in un'app in esecuzione in un computer, è necessario innanzitutto installare Remote Tools per Visual Studio nel computer.Le versioni diverse degli strumenti remoti supportano diverse piattaforme hardware.Per informazioni su come installare gli strumenti remoti, vedere la pagina Download di Remote tools sul sito Web di download Microsoft.

In alternativa, Visual Studio installa i componenti necessari per eseguire l'acquisizione remota per applicazioni a 32 bit.

[!NOTA]

Poiché la maggior parte delle applicazioni desktop Windows (incluso Visual Studio) non sono supportate in Windows 8 per i dispositivi ARM, l'utilizzo degli strumenti remoti per Visual Studio insieme all'API di acquisizione a livello di codice è l'unico modo per acquisire la diagnostica della grafica nei dispositivi ARM.

Preparazione dell'app per utilizzare l'acquisizione a livello di codice

Per utilizzare gli strumenti di diagnostica della grafica, occorre innanzitutto acquisire le informazioni grafiche necessarie.È possibile acquisire le informazioni a livello di codice utilizzando l'API di CaptureCurrentFrame.

Per preparare l'applicazione all'acquisizione di informazioni grafiche a livello di codice

  1. Assicurarsi che l'intestazione vsgcapture.h sia inclusa nel codice sorgente dell'app.Può essere inclusa in una sola posizione, ad esempio, nel file di codice sorgente in cui si chiamerà l'API di acquisizione a livello di codice o in un file di intestazione precompilato per chiamare l'API da più file di codice sorgente.

  2. Nel codice sorgente per l'applicazione, ogni volta che si desidera acquisire il resto del frame corrente, chiamare g_pVsgDbg->CaptureCurrentFrame().Questo metodo non accetta parametri e non restituisce un valore.

Configurazione del nome e della posizione del file di log di grafica

Il log di grafica viene creato nella posizione definita dalle macro VSG_DEFAULT_RUN_FILENAME e DONT_SAVE_VSGLOG_TO_TEMP.

Per configurare il nome e la posizione del file di log di grafica

  • Per impedire la scrittura del log di grafica nella directory temporanea, prima della riga #include <vsgcapture.h>, aggiungere quanto segue:

    #define DONT_SAVE_VSGLOG_TO_TEMP
    

    È possibile definire questo valore per scrivere il log di grafica in un percorso relativo alla directory di lavoro o in un percorso assoluto se la definizione di VSG_DEFAULT_RUN_FILENAME è un percorso assoluto.

  • Per salvare il log della grafica in un percorso diverso, o assegnargli un nome file diverso, prima della riga #include <vsgcapture.h>, aggiungere quanto segue:

    #define VSG_DEFAULT_RUN_FILENAME <filename>
    

    Se non si esegue questo passaggio, il nome file è default.vsglog.Se DONT_SAVE_VSGLOG_TO_TEMP non è stato definito, la posizione del file è relativa alla directory temporanea, in caso contrario, è relativa alla directory di lavoro o a un'altra posizione se è stato specificato un nome file assoluto.

Per le applicazioni di Windows Store, il percorso della directory temp è specifico di ogni utente e applicazione e di norma si trova in una posizione come C:\users\nome utente\AppData\Local\Packages\nome del pacchetto\TempState\.Per le applicazioni desktop, il percorso della directory temp è specifico di ogni utente e in genere è C:\utente\nome utente\AppData\Local\Temp\.

[!NOTA]

Per scrivere in una posizione specifica, è necessario disporre delle autorizzazioni di scrittura in quella posizione; in caso contrario, si verifica un errore.Tenere presente che le app in Windows Store sono più limitate delle app desktop su cui si possono scrivere dati e possono richiedere una configurazione aggiuntiva per la scrittura in determinate posizioni.

Acquisizione di informazioni sulla grafica

Dopo aver preparato l'applicazione per l'acquisizione a livello di codice e aver facoltativamente configurato il percorso e il nome del file di log della grafica, compilare l'applicazione ed eseguirla o eseguire il debug per acquisire i dati; non avviare la diagnostica della grafica da Visual Studio durante l'utilizzo dell'API di acquisizione a livello di codice.Il log di grafica viene scritto nella posizione specificata.Se si desidera mantenere questa versione di log, spostarlo in un'altra posizione. In caso contrario, verrà sovrascritto quando si esegue nuovamente l'app.

SuggerimentoSuggerimento

È comunque possibile acquisire informazioni grafiche manualmente utilizzando l'acquisizione a livello di codice premendo STAMP con l'applicazione nello stato attivo.È possibile utilizzare questo per acquisire informazioni aggiuntive grafico che non vengano acquisite dall'utilizzo di acquisizione a livello di codice API.

Passaggi successivi

In questa procedura dettagliata è stato illustrato come acquisire informazioni grafiche a livello di codice.Il passaggio successivo è prendere in considerare questa opzione:

  • Apprendere come analizzare le informazioni sulla grafica acquisite tramite gli strumenti di diagnostica della grafica.Vedere Diagnostica grafica.

Vedere anche

Attività

Procedura dettagliata: cattura manuale informazioni grafica

Concetti

Cattura informazioni grafica