- Zidentyfikuj zaangażowany sterownik (nvlddmkm.sys, igdkmd64.sys, atikmdag.sys) i sprawdź zdarzenia TDR.
- Jeśli używasz profesjonalnych aplikacji, w pierwszej kolejności wykonaj czystą instalację sterownika i wypróbuj wersję Studio/stabilną.
- Kontroluje temperaturę i zasilanie; zapobiega przełączaniu iGPU/dGPU przy dużych obciążeniach.
- Użyj narzędzia SFC/Startup Repair i tylko w razie potrzeby ostrożnie wyreguluj TdrDelay.
Kiedy komputer zawiesza się w trakcie wykonywania zadania i pojawia się przerażający niebieski ekran z VIDEO_TDR_FAILURE, to normalne, że myślisz, że wszystko nagle się zepsuło; w rzeczywistości system próbował odzyskać GPU po awarii i nie udało mu się. Ten kod stopu Jest on ściśle powiązany ze sterownikiem graficznym oraz mechanizmem TDR (limit czasu, wykrywanie i odzyskiwanie)., więc zrozumienie jak to działa stanowi połowę rozwiązania.
W poniższych linijkach znajdziesz kompletny przewodnik, który łączy oficjalne wyjaśnienia techniczne z procedurami terenowymi i trikami, które sprawdzają się w rzeczywistych sytuacjach. Celem jest umożliwienie Ci… zdiagnozować, naprawić i zapobiec temu błędowi Niezależnie od tego, czy jesteś zaawansowanym użytkownikiem WinDbg, czy wolisz proste kroki z systemu Windows.
Co to jest błąd VIDEO_TDR_FAILURE (0x00000116) i dlaczego się pojawia?
Błąd VIDEO_TDR_FAILURE odpowiada kontrola błędów 0x00000116 i wskazuje, że system Windows próbował zresetować sterownik wideo i kartę graficzną po upływie limitu czasu, ale bezskutecznie. Podsystem graficzny systemu Windows monitoruje kartę graficzną za pomocą funkcji TDR: jeśli karta graficzna się zawiesi i przestanie reagować, próbuje ponownie uruchomić sterownik, aby przywrócić pulpit.
Mechanizm TDR ma domyślny licznik czasu wynoszący około 2 sekund: jeśli zadanie graficzne nie zakończy się na czas lub ponowne uruchomienie sterownika nie zostanie ukończone, uruchamiana jest kontrola błędów.
Po pomyślnym zakończeniu procesu odzyskiwania zostanie wyświetlony komunikat „Sterownik ekranu przestał odpowiadać, ale odzyskał sprawność”. W przypadku niepowodzenia odzyskiwania system zatrzymuje działanie i wyświetla niebieski ekran z komunikatem VIDEO_TDR_FAILURE.
Parametry kontroli błędów i sposób ich interpretacji
Oprócz kodu 0x116 niebieski ekran i zrzuty pamięci zawierają cztery parametry, które pomagają debugować dokładne źródło błędu VIDEO_TDR_FAILURE. Znajomość znaczenia każdego parametru ułatwia diagnozę i przyspiesza znalezienie rozwiązania.:
| Parametr | opis |
|---|---|
| 1 | Wskaźnik do wewnętrznego kontekstu odzyskiwania TDR (TDR_RECOVERY_CONTEXT), jeśli występuje. |
| 2 | Adres w module odpowiedzialnego kierowcy (służy do identyfikacji zaangażowanego kierowcy). |
| 3 | Kod NTSTATUS ostatniej nieudanej operacji, jeśli jest dostępny. |
| 4 | Kontekstowe dane wewnętrzne, dostępne w niektórych scenariuszach. |
W rzeczywistych śladach zwykle bierze się pod uwagę plik .sys sterownika graficznego, na przykład: nvlddmkm.sys (NVIDIA), igdkmd64.sys (Intel) lub atikmdag.sys/atikmpag.sys (AMD/ATI). Ta wskazówka jest kluczowa: wskazuje dostawcę i ścieżkę sterownika, które powodują awarię..
Dlaczego tak się dzieje: typowe przyczyny w świecie rzeczywistym
Najczęstszym schematem jest to, że GPU pozostaje zajęty przez zbyt długi czas pod dużym obciążeniem (gry, CAD, dekodowanie lub renderowanie) i nie reaguje w odpowiednim czasie. W związku z tym Najczęstszymi czynnikami wyzwalającymi są:
- Nieaktualne lub wadliwe sterowniki:
- Konflikty pomiędzy zintegrowanym i dedykowanym procesorem graficznym.
- Przegrzanie
Oprócz oprogramowania, na błąd VIDEO_TDR_FAILURE wpływa także sprzęt: zbyt agresywne taktowanie modułów pamięci, podkręcone płyty główne, niewystarczające zasilanie/moc, zdegradowana pamięć VRAM/GPU lub słabe chłodzenie w kompaktowych laptopach. Jeżeli temperatura lub pobór mocy urządzenia są bardzo niskie, TDR przeskakuje wcześniej i częściej..
Istnieją również czynniki środowiskowe: zbyt wiele procesów w tle konkurujących o zasoby, Ostatnie aktualizacje zostały nieprawidłowo zainstalowane lub pakiety graficzne (DirectX, OpenGL, Vulkan) są nieaktualne. System z dużym obciążeniem w tle i nieprawidłowo ustawionymi komponentami graficznymi jest idealnym kandydatem do tej kontroli błędów.

Diagnostyka za pomocą WinDbg i logów: jak zidentyfikować winowajcę
Jeśli zajmujesz się zrzutami pamięci (minizrzutami), WinDbg pozwoli Ci potwierdzić odpowiedzialny sterownik i bezpośrednią przyczynę błędu VIDEO_TDR_FAILURE. Polecenie nagłówka to !analyze -v, które generuje podsumowanie kontroli błędów, zaangażowany moduł i najnowszy NTSTATUS.
kd> !analyze -v
VIDEO_TDR_FAILURE (116)
Attempt to reset the display driver and recover from timeout failed.
Arguments:
Arg1: <puntero TDR_RECOVERY_CONTEXT>
Arg2: <dirección en el módulo responsable>
Arg3: <código NTSTATUS último>
Arg4: <datos de contexto>
Zaczynając od parametru 2, możesz wyświetlić moduł za pomocą lmvm i sprawdzić znacznik czasu, ścieżkę i rozmiar. Jeśli pojawi się plik nvlddmkm.sys lub podobny, masz już głównego podejrzanego..
kd> lmvm nvlddmkm
start end module name
... nvlddmkm.sys
Image path: \SystemRoot\system32\DRIVERS\nvlddmkm.sys
Timestamp: <fecha>
Przy użyciu parametru 1, jeśli jest obecny, możliwe jest sprawdzenie TDR_RECOVERY_CONTEXT i zapoznanie się z przyczyną przekroczenia limitu czasu, co powoduje ponowne uruchomienie adaptera. Pomaga to odróżnić proste zawieszenie się rurociągu od powtarzających się błędów resetowania..
kd> dt dxgkrnl!_TDR_RECOVERY_CONTEXT <puntero>
+0x010 TimeoutReason : TdrEngineTimeoutPromotedToAdapterReset
...
Na koniec ślad stosu z k/kb/kp pokazuje ścieżkę kodu kończącą się na KeBugCheckEx, z funkcjami dxgkrnl i dxgmms1 typowymi dla przepływu TDR. „Czysty” stos w kierunku TdrResetFromTimeout potwierdza, że jest to prawdziwy TDR, a nie ogólny problem jądra.
kd> k
# Child-SP RetAddr Call Site
00 ... nt!KeBugCheckEx
01 ... dxgkrnl!TdrBugcheckOnTimeout
02 ... dxgkrnl!ADAPTER_RENDER::Reset
03 ... dxgkrnl!DXGADAPTER::Reset
04 ... dxgkrnl!TdrResetFromTimeout
05 ... dxgmms1!VidSchiRecoverFromTDR
...
Kroki rozwiązania: od podstawowego do zaawansowanego
Przed otwarciem edytora rejestru lub uruchomieniem debuggera skoncentruj się na metrykach, które mają najlepszy stosunek nakładu pracy do wpływu. Zacznij od sterowników, następnie przejdź do czyszczenia/ponownej instalacji i jeśli to nie pomoże, wykonaj zaawansowane ustawienia i sprawdź sprzęt..
1) Prawidłowo zaktualizuj sterownik graficzny i chipset
Nieaktualne lub wadliwe sterowniki graficzne są najczęstszą przyczyną TDR. Przejdź do Menedżera urządzeń, rozwiń sekcję Karty graficzne, kliknij prawym przyciskiem myszy kartę graficzną i wybierz opcję „Aktualizuj sterownik”. A co lepsze: pobierz wersję zalecaną dla Twojego modelu z oficjalnej strony NVIDIA/Intel/AMD..
Jeśli używasz karty graficznej NVIDIA z profesjonalnym oprogramowaniem (CAD, edycja, 3D), wypróbuj sterowniki Studio zamiast sterowników Game Ready. W przypadku laptopów z układem Intel iGPU + NVIDIA dGPU zainstaluj także najnowszy pakiet Intel i chipset od producenta komputera.
2) Czysta ponowna instalacja sterownika (DDU)
Gdy aktualizacje „dostępne bez recepty” nie wystarczają, warto usunąć pozostałości po poprzednim sterowniku. Narzędzie Display Driver Uninstaller (DDU) usuwa składniki sterownika, usługi i wpisy rejestru. Zaleca się uruchomienie programu w trybie awaryjnym, a następnie zainstalowanie nowo pobranego sterownika..
Typowa sekwencja: tryb awaryjny, polecenie DDU „Wyczyść i uruchom ponownie”, normalne uruchomienie systemu Windows, a następnie instalacja sterownika pobranego ze strony producenta. Proces ten pozwala uniknąć konfliktów wersji i uszkodzonych plików, których standardowy instalator nie zawsze potrafi rozwiązać..
3) Wypróbuj poprzednią stabilną wersję
Czasami najnowsza wersja wprowadza regresję. W takim przypadku należy użyć „Poprzedniego sterownika” (jeśli jest dostępny) lub ręcznie zainstalować poprzednią stabilną wersję. W przypadku procesorów graficznych NVIDIA wiele problemów TDR w programie CAD znika po przywróceniu poprzedniej wersji sterownika Studio..
W przypadku instalacji ręcznej użyj opcji „Przeglądaj mój komputer w poszukiwaniu oprogramowania sterownika” i „Pozwól mi wybrać z listy dostępnych sterowników”, wybierając poprzednią kompilację dla swojego procesora graficznego. Po zakończeniu uruchom ponownie, aby zatwierdzić zmianę.
4) Napraw pliki systemowe za pomocą SFC
Jeśli problem wystąpił po aktualizacji lub nieudanej instalacji, uruchom Kontroler plików systemowych. Otwórz CMD jako administrator i uruchom polecenie sfc /scannow. System Windows sprawdzi chronione pliki binarne i automatycznie zastąpi uszkodzone pliki..
sfc /scannow
Po zakończeniu zrestartuj komputer i spróbuj ponownie załadować grafikę, aby sprawdzić, czy problem TDR zniknął. Jeżeli SFC naprawia pliki, jest to dobry znak, że wystąpiło uszkodzenie systemu mające wpływ na stos graficzny..
5) Naprawa systemu Windows podczas uruchamiania
Jeśli komunikat TDR pojawia się wielokrotnie po zalogowaniu się lub przy otwieraniu tych samych aplikacji, uruchom narzędzie Naprawa podczas uruchomienia, wybierając kolejno Ustawienia > Aktualizacja i zabezpieczenia > Odzyskiwanie > Zaawansowane uruchamianie > Rozwiązywanie problemów > Opcje zaawansowane > Naprawa podczas uruchomienia. System Windows spróbuje naprawić usługi i składniki startowe, które nie ładują się prawidłowo..
Po naprawie należy przetestować sprzęt, stosując ten sam schemat użytkowania, który spowodował awarię. Jeśli odtwarzanie się zatrzyma, przyczyną był częściowy problem z rozruchem lub uszkodzone zależności.
6) Tryb awaryjny i ponowna instalacja sterowników
Tryb awaryjny ładuje minimalną liczbę sterowników i umożliwia odinstalowanie/ponowną instalację bez zakłóceń. Wybierz „Bezpieczny rozruch” w msconfig lub przejdź do niego z poziomu zaawansowanych opcji uruchamiania, a następnie odinstaluj kartę w Menedżerze urządzeń. Następnie zainstaluj nowy sterownik pobrany od producenta.
W komputerach z dwoma procesorami graficznymi należy je odinstalować i zainstalować ponownie osobno: najpierw zintegrowany (Intel), a następnie dedykowany (NVIDIA/AMD). Zapobiega to ponownemu wstrzyknięciu przez system Windows niewłaściwego kodu generycznego pomiędzy wiersze..
7) Naprawa konkretnego pliku sterownika (AMD/NVIDIA)
W przypadku kart graficznych AMD/ATI zdarzają się przypadki, w których regeneracja atikmdag.sys lub atikmpag.sys rozwiązuje problem. Zmień nazwę pliku C:\Windows\System32\drivers, dodając rozszerzenie .old i wypakowując go z pakietu producenta. Polecenie expand tworzy nowy plik .sys, który następnie należy skopiować do folderu sterowników..
expand.exe atikmdag.sy_ atikmdag.sys
expand -r atikmdag.sy_ atikmdag.sys
W przypadku firmy NVIDIA pomysł jest analogiczny do nvlddmkm.sys: po odinstalowaniu należy zmienić nazwę pliku nvlddmkm.sys na .old, rozwinąć NVLDDMKM.Sy_ i skopiować wygenerowany plik .sys do System32\DRIVERS. Ta zamiennik usuwa uszkodzone pliki, które przetrwają instalacje powierzchniowe.
Expand.exe NVLDDMKM.Sy_ NVLDDMKM.Sys
8) Tymczasowo wyłącz układ Intel iGPU, jeśli występują konflikty
Jeśli używasz dedykowanego procesora graficznego jako głównego (np. NVIDIA), wyłącz Intel HD/UHD w Menedżerze urządzeń, aby wykluczyć problematyczne przełączanie. W niektórych laptopach automatyczne przełączanie wyzwala TDR podczas przenoszenia aplikacji między iGPU/dGPU.
Jeszcze bardziej wyrafinowane: w Panelu sterowania NVIDIA przypisz konkretny dGPU do wymagających aplikacji (acad.exe, gry), a resztę pozostaw automatyczną. W ten sposób minimalizujesz konieczność zmiany adaptera podczas otwierania/zamykania okien i unikasz resetowania kontekstu graficznego..
9) Sprawdź sprzęt i temperaturę
Sprawdź temperatury za pomocą niezawodnego narzędzia: jeśli GPU przekroczy progi i dławiki, pojawią się TDR-y. Wyczyść kurz, w razie potrzeby wymień pastę termoprzewodzącą i zapewnij dobrą wentylację. W przypadku laptopów podkładka chłodząca może okazać się niezwykle pomocna podczas długich sesji..
Sprawdza pamięć RAM (Windows Memory Diagnostic Tool) i stabilność systemu bez podkręcania. Agresywne ustawienia pamięci lub limity napięcia powodują niestabilność pod obciążeniem karty graficznej. Stabilność procesora/pamięci RAM/VRM jest tak samo ważna jak sama karta graficzna..
10) Zaawansowane ustawienia TDR (z zachowaniem ostrożności)
W przypadku dużych obciążeń, które rzeczywiście zajmują trochę więcej czasu, pomocne może być zwiększenie TdrDelay. Ścieżka: HKLM\System\CurrentControlSet\Control\GraphicsDrivers. Utwórz/ustaw 32-bitową wartość DWORD TdrDelay na 8–10 i uruchom ponownie. Nie rozwiązuje to problemu ze złymi sterownikami, ale daje większe pole manewru przed zadeklarowaniem limitu czasu..
Użyj tego trybu tylko wtedy, gdy zaktualizowałeś/wyczyściłeś sterowniki i sprawdziłeś temperaturę; jeśli problemem jest sterownik, wydłużenie czasu jedynie opóźni wystąpienie BSOD. Jeśli po zwiększeniu TdrDelay awarie nadal występują, wróć do 2 i napraw root.
Szybka lista kontrolna przed uznaniem problemu za rozwiązany
Aby mieć pewność, że problem VIDEO_TDR_FAILURE został rozwiązany, należy wykonać następujące sprawdzenia:
- Sprawdź, czy powtarzające się zdarzenia TDR nie pojawiają się już w Podglądzie zdarzeń podczas długiej sesji przy zwykłym obciążeniu. Jeśli spędzisz 30–60 minut bez TDR w rzeczywistych warunkach, rozwiązanie będzie skuteczne..
- Przeprowadź umiarkowany test obciążeniowy (graficzny test porównawczy lub złożona scena w aplikacji), monitorując temperatury. Stabilna karta graficzna utrzymuje stałe taktowanie bez ograniczania częstotliwości taktowania i powodowania błędów..
- Zrób kopię sprawdzonego sterownika (i zanotuj jego wersję), aby móc szybko przywrócić poprzednią wersję, jeśli w przyszłości problem znów się pojawi. Zapobieganie pozwala zaoszczędzić godziny, gdy nadejdzie czas kolejnej aktualizacji..
Mimo że błąd VIDEO_TDR_FAILURE jest groźny, zazwyczaj można go naprawić, stosując odpowiednią kolejność działań: prawidłowy sterownik, czystą instalację, kontrolę temperatury oraz, w razie potrzeby, dokładne dostrojenie TDR. Dzięki temu połączeniu zadania kreatywne, gry i projektowanie CAD działają ponownie bez żadnych zakłóceń..
Redaktor specjalizujący się w zagadnieniach technologii i Internetu z ponad dziesięcioletnim doświadczeniem w różnych mediach cyfrowych. Pracowałem jako redaktor i twórca treści dla firm z branży e-commerce, komunikacji, marketingu online i reklamy. Pisałem także na portalach poświęconych ekonomii, finansom i innym branżom. Moja praca jest także moją pasją. Teraz, poprzez moje artykuły w Tecnobits, staram się odkrywać wszystkie nowości i nowe możliwości, jakie świat technologii oferuje nam każdego dnia, aby poprawić nasze życie.

