Microsoft Windowsでは、Substance Painterが現在のTDR値が特定の制限(10秒)以下であることを検出すると、このウィンドウが表示されます。
GPUドライバーがなぜクラッシュするのか ?
レンダリングやGPU計算によるシステムのロックを防ぐため、Windowsオペレーティングシステムは、レンダリングに数秒以上かかるとGPUドライバを強制終了します。 ドライバが強制終了されると、それを使用するアプリケーションは自動的にクラッシュします。 レンダリングや計算にかかる時間(GPU、ドライバ、OS、メッシュサイズ、テクスチャサイズなどに依存します)を知ることはできないため、コンピューターがどのくらい処理できるのか制限することはできませんし、クラッシュを避けることはできません。
Windowsでは、ドライバ呼び出しを強制終了するまでのOSの待機時間を指定するキーがレジストリにあります。 アプリケーションにはこの設定を直接変更する権限がありません。この手順は手動で行う必要があります(下記参照)。
詳細な情報はこちらで確認可能です:https://docs.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys
どのようなキーを変更する必要がありますか?
次の2つの方法でTDR値を変更できます。
- TDR Delayを増やす(これは最も安全な操作です) - > "TdrDelay"と "TdrDdiDelay"の両方を高い値(60秒など)に変更します。
- TDRを完全に無効にする - > "TdrLevel"を0に設定する(推奨しません)。
レジストリのTDR値を編集するには?
この手順に従って、TDR値を変更してください。
2つの異なるキーを作成/編集する必要があることに注意してください。
レジストリを編集すると重大な予期せぬ結果が発生し、システムが起動しなくなる可能性があります。変更方法が不明な場合は、オペレーティングシステム全体を再インストールする必要があります。
Allegorithmic/Borndigitalは、システムレジストリを変更することによりシステムに生じたいかなる損害についても責任を負いません。
1 - 実行ウィンドウを開く
WindowsキーとRキーを押します。
「ファイル名を指定して実行」ウィンドウが開きます。
2 - レジストリエディタを開く
"regedit"と入力し、OKをクリックします。
3 - GraphicsDriversレジストリキーに移動します。
レジストリウィンドウが開きます。左ペインで、ツリー内のGraphicsDriversキーに移動します。
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
「GraphicsDrivers」内にて、次の手順を実行する前に、以下のレジストリキーをクリックしないようにしてください。
4 - TdrDelay値の追加または編集
TdrDelay値がまだ存在しない場合は、右ペインで右クリックし、新規> DWORD(32ビット)の値を選択します。 それを「TdrDelay」と命名します。 重要なので、必ずそれに従ってください(スペースなどの他の文字がないことを確認してください)。
右側のウィンドウで、TdrDelayをダブルクリックします。表記を10進数に変更します。 値をデフォルトの2以外の値に設定します(60を推奨します)。
この値は、計算中にGPUが応答しないと考える前にオペレーティングシステムが待機する時間を秒単位で示します。
5 -TdrDdiDelay値を追加または編集する
TdrDdiDelay値が存在しない場合は、右ペインで右クリックして、新規>DWORD(32ビット)値を選択します。 それを「TdrDdiDelay」と命名します。 重要なので、必ずそれに従ってください(スペースなどの他の文字がないことを確認してください)。
>右側のウィンドウで、TdrDdiDelayの値をダブルクリックします。 表記を10進数に変更します。 値をデフォルトの5以外の値に設定します(60を推奨します)。
この値は、ソフトウェアが、ドライバ停止後にドライバを回復させるまでにオペレーティングシステムがどれくらい待つかを秒単位で示します。
16進数がデフォルト値です。正しい値を表示するには10進数に切り替えるだけです。 3C(16進数)は60(10進数)に等しいことに注意してください。
6 - 完了と再起動
右ペインは次のようになります。
レジストリエディタを閉じます。 コンピュータを再起動します。
TdrValueはコンピュータの起動時にのみ認識されるため、強制的に再起動する必要があります。
計算時間が長い時にSubstance Painterがまだクラッシュしているのであれば、遅延を60から120に増やしてみてください。
TDRをデフォルト値に戻す方法は?
TDRをデフォルト値に戻すには、2つの方法があります:
- 上記の手順を実行し、TdrDelayを2秒に、TdrDdiDelayを5秒に設定します。
- またはレジストリエントリからTdrDelayおよびTdrDdiDelayキーを削除します。