1

d3d11アプリケーションに何かを実行しましたが、Presentが呼び出された後、WDDMTDRリセットが発生してGPUがクラッシュします。

Present(または描画呼び出しのいずれも!)関数はHRESULTを返すので、問題をどのように見つけることになっていますか?

4

1 に答える 1

2

プログラムの実行中は、DirectX デバッグ情報をオンにして、デバッグ出力を注意深く監視する必要があります。

DIRECTX CONTROL PANELを開き、Direct3D10.x/11の下に、

  • リストの編集を選択し、デバッグしようとしているアプリケーションの実行可能ファイルをリストに追加します。
  • [Debug Layer] で [FORCE ON] を選択し、
  • MUTING が ON になっていないことを確認します (確認したいエラー レベルの Muting のチェックを外すだけです)。

ここでアプリケーションをデバッグ モードで起動すると、実行時にデバッグ メッセージが FROM DIRECT3D11 から Visual Studio の出力ウィンドウに表示されます。レンダリング コードにブレーク ポイントを配置し、WARNING または ERROR メッセージが表示されるまでステップスルーします。それは問題を解決するのに役立ちます。

ERROR メッセージには、MSDN で実際に入手できるよりもはるかに多くの情報が含まれています。非常に多くのドキュメントがD3D11 デバッガーに格納されているのは奇妙です。

于 2011-10-14T23:29:49.183 に答える