グラフィックス診断

このドキュメントでは、DirectX のグラフィックス アプリケーションの一般的なレンダリングの問題を診断するために使用できる Visual Studio のグラフィックス診断ツールについて説明します。グラフィックス診断は Direct3D 10、Direct3D 10.1、Direct3D 11、および Direct3D 11.1 をサポートし、Direct2D へのサポートは制限されています。旧バージョンの Direct3D、DirectDraw、または他のグラフィックス API はサポートしません。

グラフィックス診断を使用して次の作業を実行できます。

  • 後で調査するためにレンダリングされたフレームをキャプチャします。

  • 詳細な調査および分析を行うためにキャプチャされたフレームを表示して選択します。

  • フレーム中に発生した Direct3D イベントとそれによるアプリケーションへの影響を表示します。

  • 各パイプライン ステージ後の 3-D メッシュのデータまたはレンダー ターゲットのデータを表示します。

  • 特定の Direct3D イベントのソース コード内の位置にジャンプします。

  • どの Direct3D イベントが各フレームの特定のピクセルの色に関係するかを検出します。

  • デバイスの状態、バッファー、メッシュ、テクスチャなどの Direct3D オブジェクトを調べます。

グラフィックス ログ

グラフィックス診断のキャプチャ セッション中にイベント、リソース、およびグラフィックスの状態を記録するグラフィックス ログが作成されます。後でグラフィックス ログを使用して、キャプチャに使用された環境をレプリケートすることなく、キャプチャされたフレームの再作成と詳細の確認を実行できます。データとレンダリングの結果を比較するために、複数のグラフィックス ログ (.vsglog) ファイルを同時に読み込むことができます。これらのファイルは独立しているため、他の開発者と共有できます。詳細については、「DirectX グラフィックスのデバッグ」を参照してください。

[!メモ]

Windows 8 の一部の API は Windows 7 または Windows Vista で使用できないため、これらの API を使用するアプリケーションは Windows 7 または Windows Vista で再作成することはできません。

グラフィックス ログ (vsglog) ファイルを開くには

  1. Visual Studio のメニュー バーで、[ファイル][開く][ファイル] の順に選択します。[ファイルを開く] ダイアログ ボックスが表示されます。

  2. 開くグラフィックス ログ (.vsglog) ファイルを指定し、[開く] ボタンをクリックします。

グラフィックス診断ツール バーを使用する

グラフィックス診断ツール バーを使用して、グラフィックス ログにデータをキャプチャし、ログにキャプチャされた問題を診断およびデバッグするのに役立つツールにアクセスできます。

グラフィックス診断ツール バーを次に示します。

診断モードのグラフィックス デバッガー ツール バー

次の表は、グラフィックス診断ツール バー項目を示します。項目は、表示される順序で左から右に表示されます。

ツール バーのボタン

説明

診断の開始

グラフィックス診断のサポートを有効にして Direct3D アプリケーションを起動します。この方法でアプリケーションを起動すると、グラフィックス診断を使用して実行中のアプリケーションの個別のフレームに関する詳細情報をキャプチャできます。

イベント一覧

[グラフィックス イベント一覧] ウィンドウを開きます。

ピクセル履歴

[グラフィックス ピクセル履歴] ウィンドウを開きます。

イベント呼び出し履歴

[グラフィックス イベント呼び出し履歴] ウィンドウを開きます。

オブジェクト テーブル

[グラフィックス オブジェクト テーブル] ウィンドウを開きます。

パイプライン ステージ

[グラフィックス パイプライン ステージ] ウィンドウを開きます。

フレームのキャプチャ

[診断の開始] ボタンを使用して起動された、実行中の Direct3D アプリケーションからフレームをキャプチャします。[フレームのキャプチャ] ボタンは、グラフィックス診断を使用できるアプリケーションが実行されている場合のみ有効です。

DirectX コントロール パネル

DirectX コントロール パネルは、DirectX の動作を変更するために使用できる、DirectX のコンポーネントです。たとえば、DirectX のランタイム コンポーネントのデバッグ バージョンを有効にする、報告されるデバッグ メッセージの種類を選択する、および処理能力の低いハードウェアをエミュレートするために一部のグラフィックス ハードウェア機能が使用されないようにすることができます。DirectX に対するこのレベルの制御は、DirectX アプリケーションのデバッグとテストに役立ちます。Visual Studio から DirectX コントロール パネルにアクセスできます。

DirectX コントロール パネルを開くには

  • メニュー バーで、[デバッグ][グラフィックス][DirectX コントロール パネル] を選択します。

グラフィックス診断ツール ウィンドウ

次の図は、キャプチャされたフレームを調べてデバッグするために使用されるツール ウィンドウを示します。各ウィンドウには、調査されるフレームの個々のピクセルに至るまで、キャプチャされたフレームについて異なるカテゴリの情報が公開されます。

表示されるすべてのグラフィックス デバッガー ウィンドウ

関連トピック

Title

説明

グラフィックス情報のキャプチャ

グラフィックス診断ツールで解析するためにグラフィックス情報をキャプチャする方法について説明します。

グラフィックス ログ ドキュメント

グラフィックスのログのドキュメントでグラフィックス情報を問題の表示による Visual アーティファクトを識別する方法について説明します。

グラフィックス イベント一覧

[グラフィックス イベント一覧] を使用して、レンダリングの問題に関連するイベントを識別する方法について説明します。

グラフィックス パイプライン ビューアー

[グラフィックス パイプライン ステージ] ウィンドウを使用して、レンダリングの問題が最初に表示されるパイプライン ステージを識別する方法について説明します。

グラフィックス イベント呼び出し履歴

[グラフィックス イベント呼び出し履歴] を使用して、レンダリングの問題に関連するアプリケーション コードを検索する方法について説明します。

グラフィックス ピクセル履歴

[グラフィックス ピクセル履歴] を使用して、ピクセルの最終的な色に影響するイベントの詳細を確認する方法について説明します。

グラフィックス オブジェクト テーブル

[グラフィックス オブジェクト テーブル] を使用して、レンダリングの問題に関連するオブジェクトの詳細を表示する方法について説明します。

HLSL のデバッグ

HLSL デバッガーを使用する方法について説明します。