Grafikobjekttabelle

Die Grafikobjekttabelle (die eines der Grafikdiagnose-Tools in Visual Studio ist) kann Ihnen helfen, Direct3D-Objekte zu verstehen, die einen bestimmten Frame Ihres Spiels oder Ihrer App unterstützen.

Dies ist Grafikobjekttabelle:

Direct3D-Objekte, die von einer App erstellt wurden

Die Grafikobjekttabelle verstehen

Mit der Grafikobjekttabelle können Sie Direct3D-Objekte analysieren, die das Rendern eines bestimmten Frames unterstützen.Sie können ein Renderproblem anhand eines bestimmten Objekts untersuchen, indem Sie seine Eigenschaften und Daten überprüfen.(Wenn Sie zuvor andere Grafikdiagnose-Tools verwenden, können Sie die Liste der Objekte eingrenzen, die möglicherweise nicht das leisten, was Sie erwarten.) Wenn Sie das problemauslösende Objekt gefunden haben, können Sie eine typspezifische Visualisierung verwenden, um das Objekt zu untersuchen. So können Sie beispielsweise die Bildbearbeitung einsetzen, um Texturen anzusehen, oder die Puffer-Schnellansicht verwenden, um Pufferinhalte anzuzeigen.

Hh873203.collapse_all(de-de,VS.110).gifFormat der Grafikobjekttabelle

Die Grafikobjekttabelle zeigt die Direct3D-Objekte und die Ressourcen an, die den Frame unterstützen, der mit dem ausgewählten Ereignis verknüpft ist, beispielsweise Zustandsobjekte, Puffer, Shader, Texturen und andere Ressourcen.Nicht in die Objekttabelle aufgenommen werden Objekte, die in einem vorherigen Frame erstellt wurden und während des aufgezeichneten Frames nicht verwendet werden.Objekte, die während des aufgezeichneten Frames durch vorherige Ereignisse zerstört wurden, werden in den folgenden Ereignissen weggelassen.Objekte, die nicht auf D3D10Device oder D3D11DeviceContext festgelegt wurden, werden in grauer Schrift angezeigt.Objekte werden in einem Tabellenformat angezeigt.

Spalte

Beschreibung

Bezeichner

Die Objekt-ID.

Name

Anwendungsspezifische Informationen, die für das Objekt mit der Direct3D-Funktion SetPrivateData festgelegt wurden (normalerweise zur Bereitstellung zusätzlicher Informationen über das Objekt).

Typ

Der Objekttyp.

Aktiv

Zeigt "*" für ein Objekt an, das während des aufgezeichneten Frames auf D3D10Device oder D3D11DeviceContext festgelegt wurde.

Dies entspricht den Objekten, die in grauer Schrift angezeigt werden, stellt aber einen Spalteneintrag bereit, der Ihnen helfen kann, die Objekttabelle zu sortieren.

Größe

Die Größe des Objekts in Bytes.

Format

Das Format des Objekts.Um beispielsweise das Format eines Texturobjekts oder das Shadermodell eines Shaderobjekts.

Mips

Die Anzahl von MIP-Ebenen eines Texturobjekts.Gilt nicht für andere Objekttypen.

Breite

Die Breite eines Texturobjekts.Gilt nicht für andere Objekttypen.

Höhe

Die Höhe eines Texturobjekts.Gilt nicht für andere Objekttypen.

Depth

Die Tiefe eines 3D-Texturobjekts.Wenn eine Textur nicht 3D ist, ist der Wert 0.Gilt nicht für andere Objekttypen.

Vom Frame erstellt

Der Frame, in dem das Objekt erstellt wurde.

Grafikobjekt-Viewer

Um Informationen zu einem Objekt anzuzeigen, öffnen Sie es, indem Sie seinen Namen in der Grafikobjekttabelle auswählen.Details über das Objekt werden in verschiedenen Formaten angezeigt, je nach Typ des Objekts.Beispielsweise wird der Gerätezustand (D3D10-Gerät) als formatierte Liste angezeigt, und eine Textur mit dem Tool Bildbearbeitung, mit dem sie auch geändert und gespeichert werden kann.

Hh873203.collapse_all(de-de,VS.110).gifGerätekontextobjekt

Das Gerätekontextobjekt (D3D11-Gerätekontext oder D3D10-Gerät) ist besonders wichtig, da es die wichtigsten Zustandsinformationen enthält und auf andere Zustandsobjekte verweist, die momentan festgelegt sind.Der Gerätekontext ändert sich, wenn ein neues Ereignis ausgewählt wird, um den aktuellen Gerätezustand wiederzugeben.Ein Zustand, der durch das ausgewählte Ereignis geändert wurde, wird in roter Schrift angezeigt.

Hh873203.collapse_all(de-de,VS.110).gifPufferobjekt

Pufferobjektdetails (D3D11-Puffer oder D3D10-Puffer) werden als formatierter Text angezeigt.Der Inhalt des Puffers wird gemäß dem Wert des Kombinationsfelds Pufferformat interpretiert, das über der Objektetabelle liegt.Im Feld können Sie ein zusammengesetztes Datenformat eingeben, das aus den Datentypen besteht, die in der folgenden Tabelle aufgelistet sind.Beispielsweise zeigt "float int" eine Liste von Strukturen an, die einen 32-Bit-Gleitkommawert enthalten, dem ein 32-Bit-Ganzzahlwert mit Vorzeichen folgt.Zusammengesetzte Datenformate, die Sie angegeben haben, werden dem Kombinationsfeld zur späteren Verwendung hinzugefügt.

Typ

Beschreibung

float

Ein 32-Bit-Gleitkommawert.

float2

Ein Vektor, der zwei 32-Bit-Gleitkommawerte enthält.

float3

Ein Vektor, der drei 32-Bit-Gleitkommawerte enthält.

float4

Ein Vektor, der vier 32-Bit-Gleitkommawerte enthält.

byte

Ein 8-Bit-Ganzzahlwert mit Vorzeichen

2byte

Ein 16-Bit-Ganzzahlwert mit Vorzeichen.

4byte

Ein 32-Bit-Ganzzahlwert mit Vorzeichen.Identisch mit int.

8byte

Ein 64-Bit-Ganzzahlwert mit Vorzeichen.Identisch mit int64.

xbyte

Ein 8-Bit-Hexadezimalwert.

x2byte

Ein 16-Bit-Hexadezimalwert

x4byte

Ein 32-Bit-HexadezimalwertIdentisch mit xint.

x8byte

Ein 64-Bit-HexadezimalwertIdentisch mit xint64.

ubyte

Ein Wert einer 8-Bit-Ganzzahl ohne Vorzeichen.

u2byte

Ein Wert einer 16-Bit-Ganzzahl ohne Vorzeichen.

u4byte

Ein Wert einer 32-Bit-Ganzzahl ohne Vorzeichen.Identisch mit uint.

u8byte

Ein Wert einer 64-Bit-Ganzzahl ohne Vorzeichen.Identisch mit uint64.

half

Ein 16-Bit-Gleitkommawert.

half2

Ein Vektor, der zwei 16-Bit-Gleitkommawerte enthält.

half3

Ein Vektor, der drei 16-Bit-Gleitkommawerte enthält.

half4

Ein Vektor, der vier 16-Bit-Gleitkommawerte enthält.

double

Ein 64-Bit-Gleitkommawert.

int

Ein 32-Bit-Ganzzahlwert mit Vorzeichen.Identisch mit 4byte.

int64

Ein 64-Bit-Ganzzahlwert mit Vorzeichen.Identisch mit 8byte.

xint

Ein 32-Bit-HexadezimalwertIdentisch mit x4byte.

xint64

Ein 64-Bit-HexadezimalwertIdentisch mit x8byte.

uint

Ein Wert einer 32-Bit-Ganzzahl ohne Vorzeichen.Identisch mit u4byte.

uint64

Ein Wert einer 64-Bit-Ganzzahl ohne Vorzeichen.Identisch mit u8byte.

bool

Ein boolescher Wert (true oder false)Jeder boolesche Wert wird durch einen 32-Bit-Wert dargestellt.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Fehlende Objekte durch Gerätestatus