Przejdź do głównej zawartości

GPU TDR w Windows 11: TdrLevel, opóźnienia i limit powtórzeń

Na tej stronie

Timeout Detection and Recovery (TDR) wykrywa zawieszenia GPU. Jeśli GPU nie odpowiada w wyznaczonym czasie, Windows próbuje przywrócić działanie podsystemu graficznego. Zwiększenie czasu oczekiwania lub wyłączenie przywracania zmienia reakcję na zawieszenie, ale nie przyspiesza GPU.

Sprawdzano, czy podsystem graficzny odczytuje wymienione parametry TDR, jak normalizowane są ich wartości i co zmienia zwiększenie czasu oczekiwania lub wyłączenie przywracania.

Windows 11 25H2 build 26200.9168, podsystem graficzny dxgkrnl.exe z modelem sterownika WDDM. Fizyczne GPU i konkretne sterowniki nie wchodziły do próby.

Statyczne porównanie parametrów z kodem dxgkrnl.exe, sprawdzenie zakresów normalizacji i porównanie z publiczną dokumentacją Microsoft.

Registry path Value Type Default Rola
HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers TdrLevel REG_DWORD 3 poziom TDR recovery
ta sama ścieżka TdrDelay REG_DWORD 2 sekundy podstawowy czas oczekiwania GPU
ta sama ścieżka TdrDdiDelay REG_DWORD 5 sekund opóźnienie DDI recovery
ta sama ścieżka TdrDodPresentDelay REG_DWORD 2 sekundy delay dla display-only present
ta sama ścieżka TdrDodVSyncDelay REG_DWORD 2 sekundy delay dla display-only VSync
ta sama ścieżka TdrLimitCount REG_DWORD 5 liczba dopuszczalnych powtórzeń
ta sama ścieżka TdrLimitTime REG_DWORD 60 sekund okno zliczania TDR

Dopuszczalne są wartości 0..3: 0 wyłącza wykrywanie zawieszeń, 1 powoduje awaryjne zatrzymanie Windows po przekroczeniu czasu oczekiwania, 2 oznacza niezaimplementowane przywracanie w VGA, 3 włącza standardowe przywracanie. Wartość spoza zakresu jest normalizowana do 3. Parametr jest odczytywany dxgkrnl.exe podczas inicjalizacji podsystemu graficznego.

Pozostaw wartość domyślną: wyłączenie przywracania zwiększa ryzyko zawieszenia pulpitu, po którym trzeba będzie ponownie uruchomić system. Tymczasowa zmiana jest uzasadniona tylko przy diagnostyce konkretnego przypadku, gdy sterownik przekracza czas oczekiwania.

TdrDelay — podstawowy parametr czasu oczekiwania GPU: liczba sekund, na którą GPU może odroczyć żądanie wywłaszczenia od schedulera GPU; według dokumentacji Microsoft jest to faktyczny próg limitu czasu. Udokumentowana wartość domyślna to 2 sekundy. TdrDebugMode określa debugowe zachowanie TDR: domyślnie stosowane jest przywracanie bez zatrzymania w debugerze, inne tryby oznaczają zatrzymanie w debugerze jądra przed przywróceniem, ignorowanie limitów czasu lub bezwarunkowe przywracanie. Microsoft dokumentuje oba klucze do testowania i debugowania sterowników i wprost wskazuje, że użytkownicy końcowi nie powinni ich zmieniać.

TdrDdiDelay określa opóźnienie dla DDI. Wszystkie trzy parametry opóźnienia DDI/DOD są mierzone w sekundach i mają efektywny zakres 1..900: 0 staje się 1, wartość powyżej 900 jest ograniczana do 900.

TdrDodPresentDelay i TdrDodVSyncDelay dotyczą kernel-mode display-only driver (KMDOD) i są udokumentowane przez Microsoft tylko do debugowania. Na zwykłym sterowniku WDDM dyskretnego GPU nie są uniwersalnym ustawieniem timeout.

TdrLimitCount ma efektywny zakres 1..32 i wartość domyślną 5. Działa razem z TdrLimitTime, który domyślnie wynosi 60 sekund. Windows zlicza przywrócenia w tym okresie; po wyczerpaniu limitu reakcja na kolejne zawieszenia staje się ostrzejsza.

Przy zwiększeniu czasu oczekiwania GPU ma więcej czasu do przywrócenia, a aplikacja dłużej pozostaje bez odpowiedzi. Przy zmniejszeniu problem jest wykrywany szybciej, ale przywracanie może częściej uruchamiać się podczas długotrwałej standardowej operacji.

  • Ścieżki, typy i wartości domyślne parametrów w badanej kompilacji.
  • Odczyt parametrów podczas inicjalizacji podsystemu graficznego.
  • Normalizacja wartości spoza dopuszczalnego zakresu.
  • Udokumentowane przeznaczenie parametrów KMDOD tylko do debugowania.
  • W śladzie rozruchu tej samej kompilacji podsystem graficzny podczas inicjalizacji odczytał cały blok TDR naraz — TdrLevel, TdrDelay, TdrDdiDelay, TdrDodPresentDelay, TdrDodVSyncDelay, TdrLimitCount, TdrLimitTime i TdrDebugMode; wszystkie wpisy były nieobecne, czyli stosowane są wartości domyślne (obserwacja BoosterX Research, odczyt TdrDelay i TdrDebugMode w tym śladzie został odnotowany, normalizacja ich wartości nie była sprawdzana osobno).
  • Wpływ zmiany na konkretne GPU, sterowniki i gry.
  • Korzyść ze zwiększenia limitu czasu lub wyłączenia przywracania poza diagnostyką.
  • Zachowanie na innych kompilacjach Windows.

Pozostaw wartości domyślne. Tymczasowa zmiana czasu oczekiwania lub limitu powtórzeń jest uzasadniona tylko przy diagnostyce konkretnego zawieszenia sterownika i z gotowym sposobem przywrócenia konfiguracji.

Przywróć wartości domyślne lub usuń opcjonalne wpisy. Zmiana wchodzi w życie przy następnej inicjalizacji podsystemu graficznego.

Odczyt parametrów został potwierdzony na Windows 11 25H2 build 26200.9168. Ich wpływ zależy od sterownika WDDM, modelu GPU, trybu display-only i przyczyny zawieszenia.

Aby wrócić do konfiguracji domyślnej, usuń te opcjonalne wartości. Przy braku wpisów podsystem graficzny używa wartości domyślnych. W badanej kompilacji ich jawne wpisanie daje ten sam wynik. Usunięcie pozwala przyszłym wersjom Windows wybierać własne wartości, jeśli się zmienią.

Badanie i użyte narzędzia należą do dewelopera BoosterX, dlatego deweloper ma bezpośredni interes w wynikach. Metodyka i granice stosowalności zostały opisane powyżej, a wnioski można sprawdzić na podstawie otwartych danych i wymienionych publicznych źródeł.

Publiczne źródła sprawdzono: 2026-09-19.

  • 2026-09-20: dodano disclaimer o konflikcie interesów.
  • 2026-09-19: dodano TdrDelay i TdrDebugMode z wartościami domyślnymi, obserwację odczytu pełnego bloku TDR w śladzie rozruchu; źródło kluczy TDR zostało ponownie sprawdzone.
  • 2026-09-02: pierwsza publikacja; potwierdzono odczyt i normalizację parametrów, dodano granice wpływu na przywracanie GPU.