シングル フレームのキャプチャーでのデータ分析
シングル フレームのキャプチャーでは、シングル フレーム内で発生したすべてのイベントと、実験の実行に必要なスタートアップ イベントやシャットダウン イベントを記録したレコードがデータとして収集されます。PIX では、関数呼び出しとそのフレームで使用された Direct3D オブジェクトのすべてに関する情報を収集するだけでなく、フレームと、アプリケーションにより使用されるすべてのテクスチャーまたはサーフェイスをレンダリングすることもできます。データを収集した後は、いくつかの方法で結果を分析できます。
イベントの分析
実験 (基本または詳細のいずれか) を実行してターゲット プログラムを終了すると、実行ファイルが自動的に開きます。イベント ウィンドウには、キャプチャーされたフレームが表示されます。
フレーム番号の横のプラス記号をクリックすると、そのフレームで行われた Direct3D 関数呼び出しがすべて表示されます。
イベント テーブルには、それぞれの関数呼び出しが各 Direct3D オブジェクトのメモリー アドレスと一緒に表示されます。ここでは、アドレスは黒でレンダリングされています。つまり、オブジェクトはまだ有効ではありません。オブジェクトが有効になると、そのオブジェクトをクリックしてオブジェクト データを参照できます (オブジェクト データの分析に関する説明を参照してください)。
イベント テーブルの各列は、実験で指定されたカウンターに対応しています。詳細ビューを使用して実験を設定した場合は、カウンターをカスタマイズできます。
オブジェクト データの表示
それぞれの Direct3D オブジェクトにはデータが関連付けられていて、これをパイプライン状態といいます。PIX を使用すると、詳細ビュー、または適切なオブジェクト タブに、オブジェクト データが表示されます。この実験ではシングルフレーム キャプチャーが実行されたため、プログラムを再実行したり、実際に使用されたオブジェクトへのポインターを保持したりするために必要なすべての設定情報が PIX でキャプチャーされました。
オブジェクト ビューには、アプリケーションにより使用されるすべての Direct3D オブジェクトとそれぞれの現在の状況が表形式で一覧表示されます。
状態を示す列に注目してください。各オブジェクトは、無効な状態になっています。つまり、フレームがまだレンダリングされていないため、オブジェクトは存在していません。表示できるオブジェクト データは、有効な状態のオブジェクトに関するものに限られます。オブジェクトを作成するには、(イベント ウィンドウで) 選択するイベントをクリックします。それによって、PIX でフレームがレンダリングされるようになります。その後、詳細ビューで [レンダリング](Render) タブをクリックします。フレームがレンダリングされると、オブジェクト ビュー内のオブジェクトが有効な状態になります。
これで、任意のオブジェクトをクリックしたり、コンテキスト メニューを使用してオブジェクトに関する情報を表示したりできるようになります。
コンテキスト メニューの最初の項目を選択すると、詳細ビューに、オブジェクト データを表示するための新しいタブが開かれます。あるいは、任意のオブジェクトをダブルクリックして、オブジェクト タブを開くこともできます。
たとえば、テクスチャーのデータを表示するには、任意のテクスチャー オブジェクトをダブルクリックしてテクスチャー タブを表示します。
これらの手順を説明したチュートリアルも用意されています (「テクスチャー データの表示」を参照してください)。
詳細ビューには、表示可能なすべてのタイプのオブジェクトへのリンクが表示されます。
レンダリング データの表示
[レンダリング](Render) タブには、現在選択されているフレームに対してレンダリングされた出力が表示されます。
各種コントロールを使用すると、表示されるデータの範囲を変更して、より多くのデータが表示されるようにできます。[レンダリング](Render) タブでは、現在のフレームがレンダリングされます。フレームが選択されていない場合は、何もレンダリングされません。