Перейти до вмісту

GPU TDR у Windows 11: TdrLevel, затримки та ліміт повторів

На цій сторінці

Timeout Detection and Recovery (TDR) виявляє зависання GPU. Якщо GPU не відповідає протягом відведеного часу, Windows намагається відновити роботу графічної підсистеми. Збільшення часу очікування або вимкнення відновлення змінює реакцію на зависання, але не прискорює GPU.

Перевіряли, чи читає графічна підсистема перелічені TDR-параметри, як нормалізуються їхні значення і що змінює збільшення часу очікування або вимкнення відновлення.

Windows 11 25H2 build 26200.9168, графічна підсистема dxgkrnl.exe з WDDM-моделлю драйвера. Фізичні 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 секунди delay для display-only present
той самий шлях TdrDodVSyncDelay REG_DWORD 2 секунди delay для display-only VSync
той самий шлях TdrLimitCount REG_DWORD 5 число допустимих повторів
той самий шлях TdrLimitTime REG_DWORD 60 секунд вікно підрахунку TDR

Допустимі значення 0..3: 0 вимикає виявлення зависань, 1 спричиняє аварійну зупинку Windows при перевищенні часу очікування, 2 позначає не реалізоване відновлення у VGA, 3 вмикає стандартне відновлення. Значення поза діапазоном нормалізується до 3. Параметр читається dxgkrnl.exe під час ініціалізації графічної підсистеми.

Залиште штатне значення: вимкнення відновлення підвищує ризик зависання робочого столу, після якого доведеться перезапускати систему. Тимчасова зміна виправдана лише під час діагностики конкретного випадку, коли драйвер перевищує час очікування.

TdrDelay — основний параметр часу очікування GPU: число секунд, на яке GPU може відкладати запит планувальника GPU на витіснення; за документацією Microsoft це фактичний поріг таймауту. Документоване значення за замовчуванням — 2 секунди. TdrDebugMode задає налагоджувальну поведінку TDR: за замовчуванням використовується відновлення без зупинки в налагоджувачі, інші режими означають зупинку в налагоджувачі ядра до відновлення, ігнорування таймаутів або безумовне відновлення. Microsoft документує обидва ключі для тестування та налагодження драйверів і прямо вказує, що кінцевим користувачам їх змінювати не слід.

TdrDdiDelay задає затримку для DDI. Усі три DDI/DOD-параметри затримки вимірюються в секундах і мають ефективний діапазон 1..900: 0 стає 1, значення вище 900 обмежується до 900.

TdrDodPresentDelay і TdrDodVSyncDelay стосуються kernel-mode display-only driver (KMDOD) і документовані Microsoft лише для налагодження. На звичайному WDDM-драйвері дискретної GPU вони не є універсальним налаштуванням timeout.

TdrLimitCount має ефективний діапазон 1..32 і значення за замовчуванням 5. Він працює разом із TdrLimitTime, який за замовчуванням дорівнює 60 секундам. Windows рахує відновлення за цей період; після вичерпання ліміту реакція на наступні зависання стає жорсткішою.

При збільшенні часу очікування у GPU більше часу до відновлення, а застосунок довше залишається без відповіді. При зменшенні проблема виявляється швидше, але відновлення може частіше спрацьовувати під час тривалої штатної операції.

  • Шляхи, типи та значення за замовчуванням параметрів у дослідженій збірці.
  • Читання параметрів під час ініціалізації графічної підсистеми.
  • Нормалізація значень поза допустимим діапазоном.
  • Документоване призначення KMDOD-параметрів лише для налагодження.
  • У трасуванні завантаження тієї самої збірки графічна підсистема під час ініціалізації прочитала весь TDR-блок одразу — TdrLevel, TdrDelay, TdrDdiDelay, TdrDodPresentDelay, TdrDodVSyncDelay, TdrLimitCount, TdrLimitTime і TdrDebugMode; усі записи були відсутні, тобто застосовуються значення за замовчуванням (спостереження BoosterX Research, читання TdrDelay і TdrDebugMode у цій трасі зафіксовано, нормалізація їхніх значень окремо не перевірялася).
  • Вплив зміни на конкретні GPU, драйвери та ігри.
  • Користь збільшення таймауту або вимкнення відновлення поза межами діагностики.
  • Поведінка на інших збірках Windows.

Залиште штатні значення. Тимчасова зміна часу очікування або ліміту повторів виправдана лише під час діагностики конкретного зависання драйвера і з готовим способом повернути конфігурацію.

Поверніть штатні значення або видаліть необов’язкові записи. Зміна набуває чинності під час наступної ініціалізації графічної підсистеми.

Читання параметрів підтверджено на Windows 11 25H2 build 26200.9168. Їхній вплив залежить від WDDM-драйвера, моделі GPU, режиму display-only та причини зависання.

Для повернення до штатної конфігурації видаліть ці необов’язкові значення. За відсутності записів графічна підсистема використовує значення за замовчуванням. На дослідженій збірці їхній явний запис дає той самий результат. Видалення дозволяє майбутнім версіям Windows вибирати власні значення, якщо вони зміняться.

Дослідження та використані інструменти належать розробнику BoosterX, тому у розробника є прямий інтерес до результатів. Методика та межі застосовності описані вище, а висновки можна перевірити за відкритими даними та переліченими публічними джерелами.

Публічні джерела перевірено: 2026-09-19.

  • 2026-09-20: додано дисклеймер про конфлікт інтересів.
  • 2026-09-19: додано TdrDelay і TdrDebugMode зі значеннями за замовчуванням, спостереження читання повного TDR-блоку в трасуванні завантаження; джерело TDR-ключів переперевірено.
  • 2026-09-02: перша публікація; підтверджено читання та нормалізацію параметрів, додано межі впливу на відновлення GPU.