次の方法で共有


グラフィックス診断例

このセクションのトピックでは、Visual Studio のグラフィックス診断を使用してグラフィックス情報をキャプチャし、グラフィックスの一般的な問題を診断する方法について例を使って説明します。

グラフィックス情報をキャプチャする

グラフィックス診断を使用してアプリケーションのレンダリングの問題を診断するには、まず実行中のアプリケーションからグラフィックス情報を取得する必要があります。Visual Studio から実行されるアプリケーションのグラフィックス情報は、Visual Studio を使用して手動でキャプチャし、Visual Studio 環境のないコンピューターで実行されているアプリケーションのグラフィックス情報は、プログラム キャプチャ API を使用してキャプチャします。プログラムによるキャプチャは、ローカル コンピューターとリモート コンピューターのいずれでも使用できます。これは Windows RT デバイスのグラフィックス情報をキャプチャする唯一の方法です。

アプリケーションの発行時に、無許可で使用される可能性のあるグラフィックス情報のキャプチャを防ぐため、プログラムによってグラフィックス診断を無効にすることができます。

不足しているオブジェクトをデバッグする

グラフィックス診断を使用して、表示されるオブジェクトまたはオブジェクトの一部が不足している Direct3D アプリケーションをデバッグすることができます。オブジェクトまたはオブジェクトの一部の不足は、グラフィックス開発者が経験する最も一般的な問題の 1 つです。オブジェクトには、モデル空間から画面への投影までの間に複数の変換が実行されるため、この種の問題は診断が困難な場合があります。しかし、この問題の主な発生原因は、デバイス状態の設定誤りかオブジェクトのジオメトリの変換時の問題です。

これらのシナリオでは、さまざまな原因により不足しているオブジェクトのデバッグ方法について説明します。

レンダリングのエラーをデバッグする

グラフィックス診断を使用して、オブジェクトの描画に誤りのある Direct3D アプリケーションをデバッグできます。レンダリングの誤りは、グラフィックス開発者が経験する別の一般的な問題です。オブジェクトの描画の誤りは、デバイス状態の設定誤り、GPU に渡されたパラメーターの誤り、シェーダー コードのバグ、シェーダー間の予期しない相互作用、またはこれらのエラーの組み合わせによるため、この種の問題は診断が困難な場合があります。

このシナリオでは、シェーダーのバグが原因のレンダリングの問題をデバッグする方法について説明します。