Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese exemplarische Vorgehensweise veranschaulicht, wie die Visual Studio-Grafikdiagnose verwendet wird, um Grafikinformationen aus einer Direct3D-App programmgesteuert zu erfassen.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben beschrieben:
Vorbereiten des Computers zur programmgesteuerten Erfassung.
Vorbereiten der App zur programmgesteuerten Erfassung.
Konfigurieren des Namens und des Speicherorts der Grafikprotokolldatei.
Verwenden der CaptureCurrentFrame-API.
Vorbereiten des Computers zur programmgesteuerten Erfassung
Die API zur programmgesteuerte Erfassung verwendet Remotetools, damit Visual Studio Erfassungsfunktionalität bereitstellen kann.Auf dem Computer, auf dem die App ausgeführt wird, müssen die Remotetools installiert sein, auch wenn Sie programmgesteuerte Erfassung auf dem lokalen Computer ausführen.Visual Studio muss nicht ausgeführt werden, wenn Sie programmgesteuerte Erfassung auf einem lokalen Computer ausführen.
Um die APIs für die Remoteerfassung in einer App zu nutzen, die auf einem Computer ausgeführt wird, müssen Sie zuerst die Remotetools für Visual Studio auf diesem Computer installieren.Verschiedene Versionen der Remotetools unterstützen verschiedene Hardwareplattformen.Informationen zum Installieren der Remotetools finden Sie auf der Remotetools-Downloadseite der Microsoft-Downloadwebsite.
Alternativ installiert Visual Studio die erforderlichen Komponenten zur Remoteerfassung für 32-Bit-Apps.
Hinweis |
|---|
Da die meisten Windows-Desktop-Apps (einschließlich Visual Studio) auf Windows 8 für ARM-Geräte nicht unterstützt werden, ist die Verwendung der Remotetools für Visual Studio zusammen mit der API für programmgesteuerte Erfassung die einzige Möglichkeit, Grafikdiagnosen auf ARM-Geräten aufzuzeichnen. |
Vorbereiten der App zur programmgesteuerten Erfassung
Sie müssen zunächst die benötigten Grafikinformationen erfassen, um die Grafikdiagnosetools verwenden zu können.Sie können die Informationen programmgesteuert mithilfe der CaptureCurrentFrame-API erfassen.
So bereiten Sie Ihre App vor, um Grafikinformationen programmgesteuert zu erfassen
Stellen Sie sicher, dass der vsgcapture.h-Header im Quellcode für die App enthalten ist.Er kann in nur einem Speicherort enthalten sein, beispielsweise in der Quellcodedatei, in der Sie die API für die programmgesteuerte Erfassung aufrufen, oder in einer vorkompilierten Headerdatei, um die API aus mehreren Quellcodedateien aufzurufen.
Wenn Sie den Rest des aktuellen Frames aufzeichnen möchten, rufen Sie g_pVsgDbg->CaptureCurrentFrame() im Quellcode der App auf.Diese Methode enthält keine Parameter und gibt keinen Wert zurück.
Konfigurieren des Namens und des Speicherorts der Grafikprotokolldatei
Das Grafikprotokoll wird an dem Speicherort erstellt, der durch die Makros DONT_SAVE_VSGLOG_TO_TEMP und VSG_DEFAULT_RUN_FILENAME definiert ist.
So konfigurieren Sie den Namen und den Speicherort der Grafikprotokolldatei.
Um zu verhindern, dass das Grafikprotokoll in das temporäre Verzeichnis geschrieben wird, fügen Sie Folgendes vor der Zeile #include <vsgcapture.h> ein:
#define DONT_SAVE_VSGLOG_TO_TEMPSie können diesen Wert definieren, um das Grafikprotokoll an einen Speicherort relativ zum Arbeitsverzeichnis zu schreiben, oder auf einen absoluten Pfad, wenn die Definition von VSG_DEFAULT_RUN_FILENAME ein absoluter Pfad ist.
Um das Grafikprotokoll an einem anderen Speicherort zu schreiben, oder um dem Protokoll einen anderen Namen zu geben, fügen Sie Folgendes vor der Zeile #include <vsgcapture.h> ein:
#define VSG_DEFAULT_RUN_FILENAME <filename>Wenn Sie diesen Schritt nicht ausführen, lautet der Dateiname default.vsglog.Wenn Sie DONT_SAVE_VSGLOG_TO_TEMP nicht definiert haben, liegt der Speicherort der Datei relativ zum temporären Verzeichnis; andernfalls relativ zum Arbeitsverzeichnis. Oder an einem anderen Speicherort, wenn Sie einen absoluten Dateinamen angegeben haben.
Für Windows Store-Apps ist der Speicherort des Temp-Verzeichnisses zu jedem Benutzer und jeder App spezifisch und befinden sich in der Regel in einem Speicherort wie C:\users\Benutzername\AppData\Local\Packages\Paketfamilienname\TempState\.Für Desktop-Apps ist der Speicherort des temporären Verzeichnisses für jeden Benutzer speziell festgelegt. Der Pfad dorthin lautet normalerweise C:\Benutzer\Benutzername\AppData\Local\Temp\.
Hinweis |
|---|
Um an einen bestimmten Speicherort zu schreiben, müssen Sie Schreibrechte für diesem Speicherort besitzen; andernfalls tritt ein Fehler auf.Beachten Sie, dass Windows Store-Apps bezüglich der Speicherorte, an die sie Daten schreiben können, weniger Möglichkeiten als Desktop-Apps haben, und zusätzliche Konfiguration benötigen, um an bestimmte Speicherorte zu schreiben. |
Erfassen der Grafikinformationen
Nachdem Sie die Anwendung für programmgesteuerte Erfassung vorbereitet und optional den Speicherort und den Namen der Grafikprotokolldatei konfiguriert haben, erstellen Sie die App. Dann können Sie die App ausführen (oder debuggen), um Daten zu erfassen. Starten Sie die Grafikdiagnose nicht aus Visual Studio, wenn Sie die API zur programmgesteuerten Erfassung verwenden.Das Grafikprotokoll wird an dem Speicherort geschrieben, den Sie angegeben haben.Wenn Sie diese Version des Protokolls beibehalten möchten, verschieben Sie sie an einen anderen Speicherort. Andernfalls wird sie überschrieben, wenn Sie die App erneut ausführen.
Tipp |
|---|
Sie können Grafikinformationen während der Verwendung der programmgesteuerten Erfassung weiterhin manuell aufzeichnen, indem Sie, mit der App im Fokus, die Taste Bildschirm drucken drücken.Sie können dies verwenden, um zusätzliche Grafikinformationen zu erfassen, die nicht von Ihrer Verwendung der API für die programmgesteuerte Erfassung aufgezeichnet wird. |
Nächste Schritte
Diese exemplarische Vorgehensweise veranschaulicht, wie Grafikinformationen programmgesteuert erfasst werden.Im nächsten Schritt haben Sie folgende Möglichkeit:
- Erfahren Sie, wie Sie aufgezeichnete Grafikinformationen mithilfe der Grafikdiagnose-Tools untersuchen können.Siehe Grafikdiagnose.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Manuelles Erfassen von Grafikinformationen
Hinweis