圖形物件表
[圖形物件表] 是 Visual Studio其中一個圖形診斷工具,可協助您瞭解支援您的遊戲或應用程式特定框架的 Direct3D 物件。
這是圖形物件資料表:
了解圖形物件資料表
使用圖形物件表,您可以分析支援特定框架之轉譯的 Direct3D 物件。您可以檢查特定物件的屬性和資料,找出該物件的呈現問題。(您可以在診斷的早期階段中使用其他圖形診斷工具,精簡物件清單以排除可能非您所預期的部分)。當您找到違規的物件時,可以使用專屬於其型別的視覺效果進行檢查,例如,您可以使用影像編輯器檢視材質,也可以使用 [緩衝區視覺化工具] 檢視緩衝區內容。
圖形物件表格式
[圖形物件表] 顯示支援框架 (與選取的事件有關聯)的 Direct3D 物件和資源,例如狀態物件、緩衝區、著色器、紋理和其他資源。在前一個框架中建立但未在擷取框架期間使用的物件,會從物件資料表中省略。已在擷取框架期間由前一個事件終結的物件會在後續的事件中省略。不是在 D3D10Device 或 D3D11DeviceContext 上設定的物件會顯示為灰色文字。物件是以表格格式顯示。
資料行 |
描述 |
---|---|
識別項 |
物件 ID。 |
名稱 |
使用 Direct3D 函式 SetPrivateData 在物件上設定的應用程式特定資訊,通常是為了要提供物件的其他識別資訊。 |
型別 |
物件型別。 |
Active |
顯示 "*" 代表擷取框架期間在 D3D10Device 或 D3D11DeviceContext 上已設定的物件。 這對應到顯示成灰色文字的物件,不過會提供欄項目,您可用於協助排序物件資料表。 |
Size |
單位為位元組的物件大小。 |
Format |
物件的格式。例如,紋理物件的格式、著色器物件的著色器模型。 |
Mips |
紋理物件含有的 MIP 層級數目。不適用於其他物件型別。 |
Width |
材質物件的寬度。不適用於其他物件型別。 |
Height |
紋理物件的高度。不適用於其他物件型別。 |
Depth |
將 3-D 紋理物件的深度。如果材質不是 3D,則值為 0。不適用於其他物件型別。 |
利用框架建立 |
此物件建立所在的框架。 |
圖形物件檢視器
若要檢視物件的詳細資料,請在 [圖形物件表] 中選擇其名稱將它開啟。物件的詳細資料隨即依照物件型別,以不同的格式顯示。例如,裝置狀態 ([D3D10 裝置]) 會顯示為格式化清單,而材質則由 [影像編輯器] 工具顯示,並且可加以修改並儲存。
裝置內容物件
裝置內容 ([D3D11 裝置內容] 或 [D3D10 裝置]) 物件特別重要,因為它保留最重要的狀態資訊,因此,它連接到目前設定的其他狀態物件。當選取新的事件以符合目前的裝置狀態時,裝置內容就會變更。已被選取事件變更的狀態會以紅色的文字顯示。
緩衝區物件
緩衝區物件詳細資料 (D3D11 緩衝區或 D3D10 緩衝區) 會顯示為格式化文字。緩衝區的內容根據 [緩衝區格式] 下拉式方塊 (位於物件資料表上方) 的值來解譯的。在區塊中,您可以輸入由下表所列資料型別組成的組合資料格式。例如,"float int" 會顯示包含 32 位元浮點數值後面接著32 位元帶正負號的整數值的結構清單。您指定的組合資料格式已加入至組合方塊供日後使用。
型別 |
描述 |
---|---|
float |
32 位元浮點型別值。 |
float2 |
包含二個 32 位元浮點數值的向量。 |
float3 |
包含三個 32 位元浮點數值的向量。 |
float4 |
包含四個 32 位元浮點數值的向量。 |
byte |
8 位元帶正負號的整數值。 |
2byte |
16 位元帶正負號的整數值。 |
4byte |
32 位元帶正負號的整數值。和 [int] 相同。 |
8byte |
64 位元帶正負號的整數值。和 [int64] 相同。 |
xbyte |
以 8 位元十六色。 |
x2byte |
這是一個 16 位元的十六進位值。 |
x4byte |
這是一個 32 位元的十六進位值。與 [xint] 相同。 |
x8byte |
這是一個 64 位元的十六進位值。與 [xint64] 相同。 |
ubyte |
8 位元不帶正負號的整數值。 |
u2byte |
16 位元不帶正負號的整數值。 |
u4byte |
32 位元不帶正負號的整數值。與 [uint] 相同。 |
u8byte |
64 位元不帶正負號的整數值。與 [uint64] 相同。 |
half |
16 位元浮點型別值。 |
half2 |
包含二個 16 位元浮點數值的向量。 |
half3 |
包含三個 16 位元浮點數值的向量。 |
half4 |
包含四個 16 位元浮點數值的向量。 |
double |
64 位元浮點型別值。 |
int |
32 位元帶正負號的整數值。與 [4byte] 相同。 |
int64 |
64 位元帶正負號的整數值。與 [8byte] 相同。 |
xint |
這是一個 32 位元的十六進位值。與 [x4byte] 相同。 |
xint64 |
這是一個 64 位元的十六進位值。與 [x8byte] 相同。 |
uint |
32 位元不帶正負號的整數值。與 [u4byte] 相同。 |
uint64 |
64 位元不帶正負號的整數值。與 [u8byte] 相同。 |
bool |
布林值 (true 或 false) 。每個布林值以 32 位元值來表示。 |