DirectX グラフィックスのデバッグ

Visual Studio は、DirectX ベースのゲームまたはアプリのグラフィックス エラーのデバッグに役立ちます。 グラフィックス診断ツールを使用すると、特定のレンダリングのエラーを識別し、これらのエラーの要因になる可能性のある要素に関する対象を絞った調査を実行できます。

このセクションの内容

  • グラフィックス診断の概要
    グラフィックス診断のワークフローおよびツールについて説明します。

  • グラフィックス情報のキャプチャ
    グラフィックス診断を使用してアプリのレンダリングの問題を調べるには、まず、アプリが DirectX を使用する方法に関する情報を記録する必要があります。 アプリが通常どおりに実行されているときの記録セッション中に目的のフレームをキャプチャ (つまり、選択) します。 キャプチャには、フレームがレンダリングされる方法に関する詳細情報が含まれています。 キャプチャした情報をグラフィックス ログのドキュメントとして保存し、後で調べたり、チームの他のメンバーと共有したりできます。

  • グラフィックス ログ ドキュメント
    記録したグラフィックス ログの調査を開始するには、グラフィックス ログのドキュメント ウィンドウを使用して、キャプチャしたフレームまたは特定のピクセルを選択し、影響を及ぼすイベント (つまり、DirectX API 呼び出し) を詳細に調べることができるようにします。

  • グラフィックス フレーム分析
    フレームを選択したら、グラフィックス フレーム分析を使用してレンダリング パフォーマンスを調べて調整することができます。

  • グラフィックス イベント一覧
    フレームを選択した後、[グラフィックス イベント一覧] を使用して、そのイベントを調べ、レンダリングの問題に関連しているかどうかを判別します。

  • グラフィックス パイプライン ステージ
    [グラフィックス パイプライン ステージ] ウィンドウで、現在選択しているイベントがグラフィックス パイプラインの各ステージで処理される方法を調査することにより、レンダリングの問題が最初に表示される場所を特定します。 パイプライン ステージの調査は、正しくない変換のためにオブジェクトが表示されない場合、または次のステージで期待される出力と一致しない出力が 1 つのステージで生成された場合に特に便利です。

  • グラフィックス イベント呼び出し履歴
    [グラフィックス イベント呼び出し履歴] を使用して、現在選択しているイベントの呼び出し履歴を調べ、レンダリングの問題に関連するアプリ コードに移動します。

  • グラフィックス ピクセル履歴
    [グラフィックス ピクセル履歴] ウィンドウを使用して、現在選択しているピクセルがどのようにイベントに影響されるかを分析することにより、特定の種類のレンダリングの問題を発生させるイベントまたはイベントの組み合わせを特定できます。 ピクセル履歴は、ピクセル シェーダー出力が正しくないか、フレーム バッファーと不適切に組み合わされているためにオブジェクトが正しくレンダリングされない場合、または、オブジェクトのピクセルがフレーム バッファーに到達する前に破棄されているためにオブジェクトが表示されない場合に特に便利です。

  • グラフィックス オブジェクト テーブル
    [グラフィックス オブジェクト テーブル] を使用して、現在選択しているイベントに対して有効な特定の Direct3D オブジェクトおよびリソースのプロパティと内容を調べます。 オブジェクト テーブルを使用すると、イベントの発生時にアクティブであるグラフィックス デバイス コンテキストを特定し、定数バッファー、頂点バッファー、テクスチャなどのグラフィックス リソースの内容を調べることが容易になります。

  • HLSL デバッガー
    現在選択しているイベントおよびグラフィックス パイプライン ステージのシェーダー コードが動作する方法を調べるには、HLSL デバッガーを使用して、コードをステップ実行して、変数の内容を調べ、その他の一般的なデバッグ タスクを実行します。 また、結果がグラフィックス パイプラインによってさらに処理されるか、アプリによって再び読み取られるかに関係なく、HLSL デバッガーを使用して計算シェーダー コードを調べることができます。

  • コマンド ライン キャプチャ ツール
    コマンド ライン キャプチャ ツールを使用すると、Visual Studio またはプログラムによるキャプチャを使用せずに、グラフィックス情報を簡単にキャプチャして再生できます。 具体的には、オートメーションを行う場合や、テスト環境でコマンド ライン キャプチャ ツールを使用できます。

  • グラフィックス診断例
    いくつかの例によって、複数のグラフィックス診断ツールを一緒に使用して、さまざまな種類のレンダリングの問題を診断する方法が示されています。

関連項目

タイトル

説明

Visual Studio でのデバッグ

Visual Studio のデバッグ機能を紹介します。

DirectX のグラフィックスとゲーム

DirectX グラフィックスの手法を説明する文書を提供します。