長い計算でのGPUドライバーのクラッシュ(TDRクラッシュ)
Windowsでは、現在のTDR値が一定の制限(10秒)を下回っていることがSubstance 3D Painterによって検出された場合に、このウィンドウが表示されます。
GPUドライバーがクラッシュする理由
レンダリングやGPU 計算によって システムがロック されるのを防ぐために、Windowsオペレーティングシステム は、レンダリングに数秒かかるたびにGPUドライバーを終了 します。 ドライバが終了すると、ドライバを使用しているアプリケーションが自動的にクラッシュします。 レンダリング作業や計算の所要時間は把握できないため(GPU、ドライバー、OS、メッシュサイズ、テクスチャサイズなどに依存します)、コンピューターの処理能力を制限して、アプリケーションレベルからのクラッシュを回避することはできません。
Windowsには、レジストリ キーがあり、OSがGPUドライバーを強制終了するまでの待機時間を指定します。 アプリケーションはこの設定を直接変更する権限がありません。この手順は手動で実行する必要があります(下記参照)。
詳細については、公式ドキュメントを参照してください: https://docs.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys。
変更が必要なキーのリスト
TDRを調整するには、TDR遅延を増やします。TdrDelayと TdrDdiDelay の両方をより高い値(60秒など)に変更します。
TDR値の編集方法
TDR値を変更するには、次の手順に従います。
2つの異なるキーを作成または編集する必要があることに注意してください。
1 - [ファイル名を指定して実行]ウィンドウを開く
[開始]、[実行]の順にクリックします(または Windows と R キーを押します)。 ファイル名を指定して実行ウィンドウが開きます。
2 – レジストリエディターを起動する
テキストフィールドに「regedit」と入力し、「OK」を押します。
3 - GraphicsDriversレジストリキーに移動します
レジストリウィンドウが開きます。
左側のウィンドウで、次の項目に移動して、ツリー内の GraphicsDrivers キーに移動します。
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
次の手順に進む前に、GraphicsDriversをに引き続き使用し、レジストリ以下のキー で をクリックしないように設定してください。
4 - TdrDelay値を追加または編集する
右側のウィンドウで、値 TdrDelay をダブルクリックします。 基準の設定を 小数 に変更します。 値を既定の 2 以外に設定してください(60をお勧めします)。
この値は、計算中にGPUが応答していないと判断されるまでのオペレーティングシステムの待ち時間を秒単位で示します。
5 - TdrDdiDelay値を追加または編集する
右側のウィンドウで、値 TdrDdiDelay をダブルクリックします。 基準の設定を 小数 に変更します。 値を既定の 5 以外に設定してください(60をお勧めします)。
この値は、ソフトウェアがGPUドライバーを離れるのに時間がかかりすぎたと判断するまでに、オペレーティングシステムが待機する時間を秒単位で示します。
16進数がデフォルト値です。10進数に切り替えるだけで正しい値が表示されます。 3C (16進数)は60 (10進数)に等しいことに注意してください。
6 – 完了して再起動
右側のペインは次のようになります。
レジストリエディターを閉じる。 開始、次に 再起動 を使用して、コンピューターを 再起動 します。
TdrValueはコンピューターの起動時にのみ表示されるので、強制的に更新するには再起動が必要です。
長時間計算を行ってもアプリケーションのクラッシュが解決しない場合は、遅延時間を60から120に(秒単位で)増やしてみてください。
TDR値をデフォルトに戻す
TDRをデフォルト値に戻すには、次の2つの方法があります。
- 上記の手順に従って、TdrDelayを 2s に、TdrDdiDelayを 5s に設定します。
- または、TdrDelayおよび TdrDdiDelay キーをレジストリエントリから 削除 します。