グラフィックス オブジェクト テーブル
Visual Studio のグラフィックス診断ツールの 1 つであるグラフィックス オブジェクト テーブルは、ゲームまたはアプリケーションの特定のフレームをサポートする Direct3D オブジェクトについて理解するのに役立ちます。
グラフィックス オブジェクト テーブルを次に示します。
注意
Visual Studio 2013 Update 3 以降、グラフィックス診断ツールのウィンドウは、独立した Visual Studio シェルのコピー内でホストされます。グラフィックス分析と呼ばれるこのカスタマイズされたシェルでは、不要なメニューとオプションは表示されなくなりますが、その点を除けば、以前と同じフレーム分析とワークフローが提供されます。この変更の詳細については、「グラフィックス診断の概要」を参照してください。
グラフィックス オブジェクト テーブルについて
グラフィックス オブジェクト テーブルを使用して、特定のフレームのレンダリングをサポートする Direct3D のオブジェクトを解析できます。 プロパティとデータを調べることによって、その特定のオブジェクトのレンダリングの問題を特定することができます。 (これまでの診断で使用していた他のグラフィックス診断ツールを使用することによって、リストを絞り込んで必要ではない可能性があるオブジェクトを除外できます)。問題のあるオブジェクトが見つかったら、そのタイプに固有の視覚表現を使用してチェックできます。たとえば、テクスチャを表示するにはイメージ エディターを、バッファーの内容を表示するには Buffer Visualizer (バッファー ビジュアライザー) を使用できます。
グラフィックス オブジェクト テーブル は、Microsoft Excel などの別のツールを使用してその内容を調べることができるように、コピーして貼り付ける操作をサポートしています。
グラフィックス オブジェクト テーブルの形式
[グラフィックス オブジェクト テーブル] には選択したイベントに関連付けられたフレームをサポートする Direct3D オブジェクトとリソース (例: 状態オブジェクト、バッファー、シェーダー、テクスチャなど) が表示されます。 前のフレームで作成され、キャプチャされたフレームの間に使用されないオブジェクトは、オブジェクト テーブルから除外されます。 キャプチャされたフレームの間に、前のイベントによって破棄されたオブジェクトは、後続のイベントで除外されます。 D3D10Device または D3D11DeviceContext に設定されていないオブジェクトは灰色のテキストで表示されます。 オブジェクトは、テーブル形式で表示されます。
Column |
説明 |
---|---|
識別子 |
オブジェクト ID。 |
名前 |
Direct3D 関数 SetPrivateData を使用してオブジェクトに設定されたアプリケーション固有の情報。通常は、オブジェクトに関する追加の識別情報が表示されます。 |
種類 |
オブジェクトの型。 |
アクティブ |
キャプチャされたフレームの間に D3D10Device または D3D11DeviceContext に設定されたオブジェクトの場合は "*" が表示されます。 これは灰色のテキストで表示されるオブジェクトに対応しますが、オブジェクト テーブルを並べ替えるのに役立つ列エントリが用意されています。 |
サイズ |
オブジェクトのサイズ (バイト単位)。 |
書式 |
オブジェクトの形式。 たとえば、テクスチャ オブジェクトの形式や、シェーダー オブジェクトのシェーダー モデル。 |
MIP |
テクスチャ オブジェクトにある MIP レベルの数。 他のオブジェクトの種類には適用されません。 |
幅 |
テクスチャ オブジェクトの幅。 他のオブジェクトの種類には適用されません。 |
高さ |
テクスチャ オブジェクトの高さ。 他のオブジェクトの種類には適用されません。 |
Depth |
3-D テクスチャ オブジェクトの深さ。 テクスチャが 3-D でない場合、値は 0 です。 他のオブジェクトの種類には適用されません。 |
グラフィックス オブジェクト ビューアー
オブジェクトに関する詳細を表示するには、[グラフィックス オブジェクト テーブル] で名前を選択して開きます。 オブジェクトの詳細は、オブジェクトの種類によって異なる形式で表示されます。 たとえば、デバイスの状態 (D3D10 Device) は書式付きリストで表示されます。テクスチャはイメージ エディター ツールで表示され、変更および保存できます。
デバイス コンテキスト オブジェクト
デバイス コンテキスト (D3D11 Device Context または D3D10 Device) オブジェクトは、最も重要な状態情報を保持しているため特に重要であり、現在設定されている他の状態オブジェクトにリンクされます。 デバイス コンテキストの詳細が新しいドキュメント ウィンドウに表示され、そこで情報の各カテゴリがそれぞれのタブに示されます。 新しいイベントが選択されると、デバイス コンテキストが現在のデバイスの状態を反映するように変更されます。
バッファー オブジェクト
バッファー オブジェクトの詳細 (D3D11 バッファーまたは D3D10 バッファー) が、新しいドキュメント ウィンドウに表示されます。ウィンドウには、バッファーの内容がテーブルで示され、バッファーの内容を表示する方法を変更するためのインターフェイスが提供されます。 バッファー データ テーブルは、Microsoft Excel などの別のツールを使用してその内容を調べることができるように、コピーして貼り付ける操作をサポートしています。 バッファーの内容は、バッファー データ テーブルの上にある [形式] ボックスの値に従って解釈されます。 このボックスには、次の表のデータ型で構成される複合データ形式で入力できます。 たとえば、"float int" には 32 ビット浮動小数点値の後に 32 ビット符号付き整数値が続く構造体がリストに表示されます。 指定した複合データ形式はコンボ ボックスに追加され、後で使用できます。
種類 |
説明 |
---|---|
float |
32 ビット浮動小数点値。 |
float2 |
2 個の 32 ビット浮動小数点値を含むベクター。 |
float3 |
3 個の 32 ビット浮動小数点値を含むベクター。 |
float4 |
4 個の 32 ビット浮動小数点値を含むベクター。 |
byte |
8 ビットの符号付き整数値。 |
2byte |
16 ビットの符号付き整数値。 |
4byte |
32 ビットの符号付き整数値。 int と同じです。 |
8byte |
64 ビットの符号付き整数値。 int64 と同じです。 |
xbyte |
8 ビットの 16 進値。 |
x2byte |
16 ビットの 16 進値。 |
x4byte |
32 ビットの 16 進値。 xint と同じです。 |
x8byte |
64 ビットの 16 進値。 xint64 と同じです。 |
ubyte |
8 ビットの符号なし整数値。 |
u2byte |
16 ビットの符号なし整数値。 |
u4byte |
32 ビットの符号なし整数値。 uint と同じです。 |
u8byte |
64 ビットの符号なし整数値。 uint64 と同じです。 |
half |
16 ビット浮動小数点値。 |
half2 |
2 個の 16 ビット浮動小数点値を含むベクター。 |
half3 |
3 個の 16 ビット浮動小数点値を含むベクター。 |
half4 |
4 個の 16 ビット浮動小数点値を含むベクター。 |
double |
64 ビット浮動小数点値。 |
int |
32 ビットの符号付き整数値。 4byte と同じです。 |
int64 |
64 ビットの符号付き整数値。 8byte と同じです。 |
xint |
32 ビットの 16 進値。 x4byte と同じです。 |
xint64 |
64 ビットの 16 進値。 x8byte と同じです。 |
uint |
32 ビットの符号なし整数値。 u4byte と同じです。 |
uint64 |
64 ビットの符号なし整数値。 u8byte と同じです。 |
bool |
ブール型 (true または false) の値。 それぞれのブール値は 32 ビット値によって表されます。 |