GPU TDR in Windows 11: TdrLevel、遅延、再試行回数の上限
目次
Timeout Detection and Recovery (TDR) は GPU のハングを検出します。GPU が割り当てられた時間内に応答しない場合、Windows はグラフィックスサブシステムの復旧を試みます。待機時間を増やすか復旧を無効にすると、ハングへの反応が変わりますが、GPU が高速化するわけではありません。
何を確認したか
Section titled “何を確認したか”グラフィックスサブシステムが列挙された TDR パラメータを読み取るか、その値がどのように正規化されるか、待機時間の増加または復旧の無効化が何を変えるかを確認しました。
Windows 11 25H2 build 26200.9168、WDDM ドライバーモデルのグラフィックスサブシステム dxgkrnl.exe。物理 GPU および特定のドライバーは対象に含まれていません。
パラメータと dxgkrnl.exe のコードの静的照合、正規化範囲の確認、Microsoft の公開ドキュメントとの突き合わせ。
| Registry path | Value | Type | Default | 役割 |
|---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers |
TdrLevel |
REG_DWORD |
3 |
TDR recovery のレベル |
| 同じパス | TdrDelay |
REG_DWORD |
2 秒 |
GPU の基本待機時間 |
| 同じパス | TdrDdiDelay |
REG_DWORD |
5 秒 |
DDI recovery の遅延 |
| 同じパス | TdrDodPresentDelay |
REG_DWORD |
2 秒 |
display-only present の delay |
| 同じパス | TdrDodVSyncDelay |
REG_DWORD |
2 秒 |
display-only VSync の delay |
| 同じパス | TdrLimitCount |
REG_DWORD |
5 |
許容されるリトライ回数 |
| 同じパス | TdrLimitTime |
REG_DWORD |
60 秒 |
TDR のカウント期間 |
TdrLevel
Section titled “TdrLevel”許容される値は 0..3 です。0 はハング検出を無効にし、1 は待機時間を超えたときに Windows を緊急停止させ、2 は VGA で実装されていない復旧を示し、3 は標準の復旧を有効にします。範囲外の値は 3 に正規化されます。このパラメータはグラフィックスサブシステムの初期化時に dxgkrnl.exe によって読み取られます。
既定値のままにしてください。復旧を無効にするとデスクトップがハングするリスクが高まり、その後システムを再起動する必要があります。一時的な変更が正当化されるのは、ドライバーが待機時間を超える特定のケースを診断するときだけで、構成を元に戻す方法がある場合に限られます。
Timeout と retry limit
Section titled “Timeout と retry limit”TdrDelay は GPU の待機時間の主要なパラメータです。GPU が GPU スケジューラのプリエンプション要求を先送りできる秒数であり、Microsoft のドキュメントによればこれが実際のタイムアウトしきい値です。文書化された既定値は 2 秒です。TdrDebugMode は TDR のデバッグ動作を設定します。既定ではデバッガーで停止しない復旧が使用され、他のモードは復旧前のカーネルデバッガーでの停止、タイムアウトの無視、または無条件の復旧を意味します。Microsoft は両方のキーをドライバーのテストとデバッグ用として文書化しており、エンドユーザーが変更すべきではないと明記しています。
TdrDdiDelay は DDI の遅延を設定します。3 つの DDI/DOD 遅延パラメータはすべて秒単位で測定され、有効範囲は 1..900 です。0 は 1 になり、900 を超える値は 900 に制限されます。
TdrDodPresentDelay と TdrDodVSyncDelay は kernel-mode display-only driver (KMDOD) に関係し、Microsoft によってデバッグ専用としてのみ文書化されています。ディスクリート GPU の通常の WDDM ドライバーでは、これらは timeout の汎用的な設定ではありません。
TdrLimitCount の有効範囲は 1..32 で、既定値は 5 です。これは既定で 60 秒である TdrLimitTime と連動して動作します。Windows はこの期間内の復旧を数え、上限を使い果たすと、その後のハングへの反応がより厳しくなります。
待機時間を増やすと GPU が復旧するまでの時間が長くなり、アプリケーションはより長く応答しないままになります。減らすと問題はより早く検出されますが、長時間の正常な操作中に復旧がより頻繁に作動する可能性があります。
確認されたこと
Section titled “確認されたこと”- 調査したビルドにおけるパラメータのパス、型、既定値。
- グラフィックスサブシステムの初期化時のパラメータの読み取り。
- 許容範囲外の値の正規化。
- KMDOD パラメータがデバッグ専用であるという文書化された目的。
- 同じビルドの起動トレースにおいて、グラフィックスサブシステムが初期化時に TDR ブロック全体を一度に読み取った —
TdrLevel、TdrDelay、TdrDdiDelay、TdrDodPresentDelay、TdrDodVSyncDelay、TdrLimitCount、TdrLimitTime、TdrDebugMode。すべてのエントリは存在せず、つまり既定値が適用されている(BoosterX Research の観察。このトレースにおけるTdrDelayとTdrDebugModeの読み取りは記録されているが、それらの値の正規化は個別には確認されていない)。
確認されていないこと
Section titled “確認されていないこと”- 変更が特定の GPU、ドライバー、ゲームに与える影響。
- 診断以外でのタイムアウト増加または復旧無効化の有用性。
- 他の Windows ビルドでの動作。
実用的な結論
Section titled “実用的な結論”既定値のままにしてください。待機時間またはリトライ上限の一時的な変更が正当化されるのは、特定のドライバーハングを診断するときだけで、構成を元に戻す方法がある場合に限られます。
既定値に戻すか、省略可能なエントリを削除してください。変更は次回のグラフィックスサブシステムの初期化時に有効になります。
パラメータの読み取りは Windows 11 25H2 build 26200.9168 で確認されています。その影響は WDDM ドライバー、GPU モデル、display-only モード、ハングの原因によって異なります。
既定の構成に戻すには、これらの省略可能な値を削除してください。エントリが存在しない場合、グラフィックスサブシステムは既定値を使用します。調査したビルドでは、それらを明示的に書き込んでも同じ結果になります。削除することで、将来の Windows バージョンが値が変更された場合に独自の値を選択できるようになります。
調査および使用されたツールは BoosterX の開発者に帰属するため、開発者は結果に対して直接の利害関係を持っています。方法と適用範囲は上記に記載されており、結論は公開データおよび列挙された公開情報源によって検証できます。
- Timeout Detection and Recovery、Microsoft Learn、確認日 2026-09-01。
- TDR registry keys、Microsoft Learn、確認日 2026-09-19。
公開情報源の確認日: 2026-09-19。
- 2026-09-20: 利益相反に関する免責事項を追加。
- 2026-09-19: 既定値を持つ
TdrDelayとTdrDebugModeを追加、起動トレースにおける TDR ブロック全体の読み取りの観察。TDR キーの情報源を再確認。 - 2026-09-02: 初回公開。パラメータの読み取りと正規化を確認、GPU 復旧への影響の範囲を追加。
