圖形物件表
[圖形物件表] 是 Visual Studio 中的圖形診斷工具之一,可協助您了解支援您的遊戲或應用程式之特定畫面格的 Direct3D 物件。
這是 [圖形物件表]:
注意事項 |
---|
從 Visual Studio 2013 Update 3 開始,圖形診斷工具視窗皆裝載在 Visual Studio Shell 的獨立複本中。這個自訂殼層稱為「圖形分析」,它會消除不必要的功能表和選項,除此以外,「畫面格分析」和工作流程都和之前一樣。如需此變更的詳細資訊,請參閱 圖形診斷概觀。 |
了解圖形物件表
藉由使用 [圖形物件表],您可以分析支援呈現特定畫面格的 Direct3D 物件。 您可以檢查特定物件的屬性和資料,以找出其呈現問題。 (提早使用其他圖形診斷工具來進行診斷,可以縮小非您預期之物件的清單。)當您發現不當的物件時,可以使用其類型專屬的視覺效果來加以檢查,例如,您可以使用影像編輯器來檢視紋理,或使用 [緩衝區視覺化檢視] 來檢視緩衝區內容。
[圖形物件表] 支援複製並貼上,讓您可以使用其他工具 (例如 Microsoft Excel) 來檢查其內容。
圖形物件表格式
[圖形物件表] 會顯示支援與所選事件相關聯之畫面格的 Direct3D 物件和資源,例如狀態物件、緩衝區、著色器、紋理和其他資源。 物件表會略過在先前畫面格中建立,但未於所擷取的畫面格期間使用的物件。 在後續事件中,將會略過在擷取的畫面格期間被先前事件損毀的物件。 未設定在 D3D10Device 或 D3D11DeviceContext 上的物件會以灰色文字顯示。 物件會以表格格式顯示。
Column |
描述 |
---|---|
識別碼 |
物件識別碼。 |
名稱 |
使用 Direct3D 函式 SetPrivateData 設定在物件上的應用程式特定資訊 (通常是為了提供物件的其他識別資訊)。 |
類型 |
物件類型。 |
作用中 |
針對在擷取的畫面格期間設定在 D3D10Device 或 D3D11DeviceContext 上的物件,會顯示 "*"。 這會對應至顯示為灰色文字的物件,但會提供資料行項目,可讓您用來協助排序物件表。 |
大小 |
物件大小 (以位元組為單位)。 |
格式 |
物件的格式。 例如,紋理物件的格式,或是著色器物件的著色器模型。 |
Mips |
紋理物件具有的 MIP 層級數目。 不會套用到其他物件類型。 |
寬度 |
紋理物件的寬度。 不會套用到其他物件類型。 |
高度 |
紋理物件的高度。 不會套用到其他物件類型。 |
深度 |
3-D 紋理物件的深度。 如果紋理不是 3-D,則該值為 0。 不會套用到其他物件類型。 |
圖形物件檢視器
若要檢視物件的詳細資料,請在 [圖形物件表] 中選擇其名稱將其開啟。 物件的詳細資料會以不同格式顯示,視物件的類型而定。 例如,裝置狀態 (D3D10 裝置) 會顯示為已格式化清單,而紋理會以 [影像編輯器] 工具來顯示,並可修改和儲存。
裝置內容物件
裝置內容 (D3D11 裝置內容或 D3D10 裝置) 物件特別重要,因為它保存了最重要的狀態資訊,而且它會連結到目前設定的其他狀態物件。 裝置內容詳細資料會顯示在新的文件視窗中,而每種類別的資訊會顯示在其索引標籤上。 選取新的事件時裝置內容會變更,以反映目前的裝置狀態。
緩衝區物件
緩衝區物件詳細資料 (D3D11 緩衝區或 D3D10 緩衝區) 會顯示在新的文件視窗中,其中會顯示表格中的緩衝區內容,並提供介面變更緩衝區內容的顯示方式。 [緩衝區資料] 表格支援複製並貼上,讓您可以使用其他工具 (例如 Microsoft Excel) 來檢查其內容。 緩衝區的內容會依據 [格式] 下拉式方塊的值 (位於 [緩衝區資料] 表格上方) 來解譯。 在該方塊中,您可以輸入由下表列示之資料類型組成的複合資料格式。 例如,"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 位元值表示。 |