- Идентификувајте го вклучениот драјвер (nvlddmkm.sys, igdkmd64.sys, atikmdag.sys) и проверете за TDR настани.
- Дајте приоритет на чиста инсталација на драјвери и пробајте ја Studio/стабилната верзија ако користите професионални апликации.
- Ги контролира термичките вредности и моќноста; спречува префрлување на iGPU/dGPU под големи оптоварувања.
- Користете SFC/Startup Repair и, само доколку е соодветно, внимателно прилагодете го TdrDelay.
Кога вашиот компјутер ќе се сруши додека извршува задача и ќе се појави страшниот син екран со ВИДЕО_НЕУСПЕХ_НА_ТР, нормално е да се помисли дека сè одеднаш се расипало; всушност, системот се обидел да го врати графичкиот процесор по падот и не успеал. Овој код за запирање Тесно е поврзан со графичкиот драјвер и механизмот за истекување, откривање и обновување (TDR)., па разбирањето како функционира е половина од решението.
Во следните редови ќе најдете комплетен водич кој ги комбинира официјалното техничко објаснување со теренски процедури и трикови кои функционираат во реални сценарија. Целта е да можете да дијагностицирајте, исправете и спречете ја оваа грешка Без разлика дали сте напреден корисник на WinDbg или претпочитате едноставни чекори од Windows.
Што е VIDEO_TDR_FAILURE (0x00000116) и зошто се појавува?
Грешката VIDEO_TDR_FAILURE одговара на проверка на грешки 0x00000116 и покажува дека Windows се обидел да го ресетира видео драјверот и графичката картичка по истекот на времето, но не успеал. Графичкиот подсистем на Windows го следи графичкиот процесор со TDR: Ако графичката картичка се заглави и не реагира, се обидува да го рестартира драјверот за да ја врати работната површина.
Овој механизам TDR има стандарден тајмер од околу 2 секунди: ако графичката задача не заврши навреме или рестартирањето на драјверот не е завршено, се активира проверката за грешки.
Кога процесот на обновување е успешен, ќе ја видите пораката „Драјверот за екранот престана да реагира и се опорави“. Кога не успее да се опорави, системот го запира извршувањето и прикажува синиот екран со VIDEO_TDR_FAILURE..
Параметри за проверка на грешки и како да се толкуваат
Покрај кодот 0x116, синиот екран и мемориските дампови вклучуваат четири параметри кои помагаат во дебагирање на точниот извор на грешката VIDEO_TDR_FAILURE. Познавањето на значењето на секој параметар ја води дијагнозата и го забрзува решението.:
| Параметар | опис |
|---|---|
| 1 | Покажувач кон внатрешниот контекст за обновување на TDR (TDR_RECOVERY_CONTEXT), кога е присутен. |
| 2 | Адреса во модулот за одговорен возач (се користи за идентификација на вклучениот возач). |
| 3 | NTSTATUS код на последната неуспешна операција, ако е достапен. |
| 4 | Внатрешни податоци зависни од контекстот, достапни во одредени сценарија. |
Во реалните траги, обично е вклучена .sys датотека од графичкиот драјвер: на пример, nvlddmkm.sys (NVIDIA), igdkmd64.sys (Интел) или atikmdag.sys/atikmpag.sys (AMD/ATI). Таа индиција е клучна: таа укажува на патеката на провајдерот и драјверот што ја предизвикува несреќата..
Зошто се случува: типични причини во реалниот свет
Најчестиот образец е дека графичкиот процесор останува зафатен предолго време под големо оптоварување (игри, CAD, декодирање или рендерирање) и не реагира навремено. Оттаму, Најчестите предизвикувачи се:
- Застарени или неисправни драјвери:
- Конфликти помеѓу интегрираната и наменската графичка картичка.
- Прегревање
Освен софтверот, и хардверот е важен кога станува збор за грешката VIDEO_TDR_FAILURE: агресивно темпирани мемориски модули, оверклокувани матични плочи, недоволно напојување/напојување, деградирана VRAM/GPU или лошо ладење кај компактни лаптопи. Ако опремата работи со многу ниска температура или моќност, TDR скока порано и почесто..
Исто така, постојат фактори на животната средина: премногу процеси во позадина се натпреваруваат за ресурси, Неодамнешните ажурирања се инсталирани неправилно или графичките пакети (DirectX, OpenGL, Vulkan) се застарени. Систем со големо оптоварување во позадина и неправилно порамнети графички компоненти е совршен кандидат за оваа проверка на грешки.

Дијагностика со WinDbg и логови: како да се идентификува виновникот
Ако ракувате со мемориски дампови (мини дампови), ветербг ќе ви овозможи да го потврдите одговорниот драјвер и непосредната причина за грешката VIDEO_TDR_FAILURE. Заглавната команда е !analyze -v, која генерира резиме на проверката на грешки, вклучениот модул и најновата 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>
Почнувајќи со параметар 2, можете да го наведете модулот со lmvm и да ја проверите временската ознака, патеката и големината. Ако се појави nvlddmkm.sys или еквивалент, веќе го имате главниот осомничен..
kd> lmvm nvlddmkm
start end module name
... nvlddmkm.sys
Image path: \SystemRoot\system32\DRIVERS\nvlddmkm.sys
Timestamp: <fecha>
Со параметар 1, кога е присутен, можно е да се испита TDR_RECOVERY_CONTEXT и да се види причината за истекот на времето што е промовирано за рестартирање на адаптерот. Ова помага да се разликува едноставно застој на цевководот од повторен неуспех при ресетирање..
kd> dt dxgkrnl!_TDR_RECOVERY_CONTEXT <puntero>
+0x010 TimeoutReason : TdrEngineTimeoutPromotedToAdapterReset
...
Конечно, трагата на стекот со k/kb/kp ја покажува патеката на кодот што кулминира во KeBugCheckEx, со функции dxgkrnl и dxgmms1 типични за TDR протокот. „Чист“ стек кон TdrResetFromTimeout потврдува дека станува збор за вистински TDR, а не за општ проблем со јадрото..
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
...
Чекори за решавање: од основно до напредно
Пред да го отворите уредникот на регистарот или да стартувате дебагери, фокусирајте се на метриките со најдобар сооднос на напор/влијание. Започнете со драјверите, потоа продолжете со чистење/повторно инсталирање, и ако тоа е сè уште случај, решете се со напредни поставки и проверка на хардверот..
1) Правилно ажурирајте го графичкиот драјвер и чипсетот
Застарените или грешни графички драјвери се најчеста причина за TDR-ови. Одете во Управувачот со уреди, проширете ги Адаптерите за екран, кликнете со десното копче на вашата графичка картичка и изберете „Ажурирај драјвер“. Уште подобро: преземете ја препорачаната верзија за вашиот модел од официјалната веб-страница на NVIDIA/Intel/AMD..
Ако користите NVIDIA со професионален софтвер (CAD, уредување, 3D), пробајте ги драјверите за Studio наместо драјверите за Game Ready. На лаптопи со Intel iGPU + NVIDIA dGPU, инсталирајте го и најновиот пакет и чипсет на Intel од производителот на компјутерот..
2) Чиста реинсталација на драјвери (DDU)
Кога ажурирањата „без рецепт“ не се доволни, добра идеја е да ги исчистите остатоците од претходниот драјвер. Алатката Display Driver Uninstaller (DDU) ги отстранува компонентите на драјверот, услугите и записите во регистарот. Препорачливо е да го стартувате во безбеден режим, а потоа да го инсталирате новопреземениот драјвер..
Типична секвенца: безбеден режим, DDU „Чистење и рестартирање“, стартување на Windows нормално, а потоа инсталирање на драјверот преземен од веб-страницата на производителот. Овој процес ги избегнува конфликтите на верзии и оштетените датотеки што стандардниот инсталер не ги решава секогаш..
3) Пробајте претходна стабилна верзија
Повремено, најновата верзија воведува регресија. Во тој случај, користете го „Претходниот драјвер“ (доколку е достапен) или рачно инсталирајте претходна стабилна верзија. Со NVIDIA графичките процесори, многу проблеми со TDR во CAD исчезнуваат кога се враќате на претходен Studio драјвер..
За рачна инсталација, користете ги опциите „Прелистај го мојот компјутер за софтвер за драјвери“ и „Дозволи ми да изберам од листа на достапни драјвери“, избирајќи ја претходната верзија за вашиот графички процесор. Рестартирајте кога ќе завршите за да ја потврдите промената.
4) Поправете ги системските датотеки со SFC
Ако проблемот се појавил по ажурирање или неуспешна инсталација, стартувајте ја System File Checker. Отворете CMD како администратор и стартувајте sfc /scannow. Windows автоматски ќе ги провери заштитените бинарни датотеки и ќе ги замени оштетените..
sfc /scannow
Кога ќе завршите, рестартирајте го компјутерот и обидете се повторно со вообичаеното вчитување на графиката за да видите дали TDR исчезнал. Ако SFC ги поправа датотеките, тоа е добар знак дека имало системска корупција што влијаела на графичкиот стек..
5) Поправка при стартување на Windows
Ако TDR се појавува постојано по најавувањето или при отворање на истите апликации, стартувајте ја функцијата „Поправка при стартување“ така што ќе отидете во Поставки > Ажурирање и безбедност > Обнова > Напредно стартување > Решавање проблеми > Напредни опции > Поправка при стартување. Windows ќе се обиде да ги поправи услугите и компонентите за стартување кои не се вчитуваат правилно..
По поправката, тестирајте ја опремата со истиот начин на употреба што го предизвикал дефектот. Ако престане да свири, тоа беше проблем со делумно стартување или оштетени зависности.
6) Безбеден режим и повторно инсталирање на драјверот
Безбедниот режим ги вчитува минималните драјвери и овозможува деинсталација/повторна инсталација без прекин. Изберете „Безбедно стартување“ во msconfig или пристапете до него од Напредно стартување и откако ќе стигнете таму, деинсталирајте го адаптерот во Управувачот со уреди. Потоа инсталирајте го новиот драјвер преземен од производителот.
На компјутери со две графички процесори, деинсталирајте ги и повторно инсталирајте ги одделно: прво интегрираната (Intel), потоа наменската (NVIDIA/AMD). Ова го спречува Windows повторно да инјектира несоодветен генерички програм помеѓу..
7) Поправка на специфична датотека со драјвер (AMD/NVIDIA)
На AMD/ATI графичките процесори, има случаи каде што регенерирањето на atikmdag.sys или atikmpag.sys го решава проблемот. Преименувајте ја датотеката C:\Windows\System32\drivers со додавање на .old и проширување од пакетот на производителот. Командата expand ја креира новата .sys датотека која потоа ја копирате во папката со драјвери..
expand.exe atikmdag.sy_ atikmdag.sys
expand -r atikmdag.sy_ atikmdag.sys
За NVIDIA, идејата е аналогна на nvlddmkm.sys: по деинсталирањето, преименувајте го nvlddmkm.sys во .old, проширете го NVLDDMKM.Sy_ и копирајте го генерираниот .sys во System32\DRIVERS. Оваа замена ги отстранува оштетените датотеки што преживуваат површински инсталации.
Expand.exe NVLDDMKM.Sy_ NVLDDMKM.Sys
8) Привремено оневозможете го Intel iGPU ако има конфликти
Ако користите наменска графичка картичка како примарна (на пр., NVIDIA), оневозможете го Intel HD/UHD во Управувачот со уреди за да исклучите проблематично префрлување. На некои лаптопи, автоматското префрлување ги активира TDR-ите при преместување на апликации помеѓу iGPU/dGPU.
Уште порафинирано: во контролниот панел на NVIDIA, доделете ја специфичната dGPU на апликации со големи барања (acad.exe, игри), а останатото оставете го автоматски. На овој начин ги минимизирате промените на адаптерот при отворање/затворање на прозорците и избегнувате ресетирање на графичкиот контекст..
9) Проверете ги хардверот и термичките елементи
Проверете ги температурите со сигурна алатка: ако графичкиот процесор ги надмине праговите и пригушувањата, ќе се појават TDR-и. Исчистете ја прашината, заменете ја термичката паста доколку е потребно и обезбедете добра вентилација. Кај лаптопите, подлогата за ладење може да направи голема разлика за време на долги сесии..
Ја потврдува стабилноста на RAM меморијата (алатка за дијагностика на меморијата на Windows) и системот без оверклокување. Агресивните поставки на меморијата или ограничувањата на напонот предизвикуваат нестабилност при оптоварување на графиката. Стабилноста на процесорот/RAM/VRM е исто толку важна како и самата графичка картичка..
10) Напредни поставки за TDR (со претпазливост)
За големи работни оптоварувања кои легитимно траат малку подолго, зголемувањето на TdrDelay може да помогне. Патека: HKLM\System\CurrentControlSet\Control\GraphicsDrivers. Креирајте/поставете го 32-битниот DWORD TdrDelay на 8–10 и рестартирајте го. Ова не ги поправа лошите драјвери, но дава поголема слобода пред да се прогласи тајмаут..
Користете го само ако веќе сте ги ажурирале/исчистиле драјверите и сте ги провериле термичките параметри; ако проблемот е во драјверот, продолжувањето на времето само го одложува BSOD. Ако по зголемувањето на TdrDelay падовите продолжат, вратете се на 2 и поправете го root-от.
Брза контролна листа пред да се смета дека проблемот е решен
За да бидете сигурни дека сте го решиле проблемот VIDEO_TDR_FAILURE, треба да ги извршите следниве проверки:
- Потврдете дека повторените TDR настани повеќе не се појавуваат во Прегледувачот на настани за време на долга сесија со вашето вообичаено оптоварување. Ако поминете 30-60 минути без TDR во реални услови, решението е робусно..
- Извршете умерен тест на стрес (графички репер или комплексна сцена во вашата апликација) со следење на температурите. Стабилната графичка картичка одржува одржливи тактови без грешки при гаснење или активирање..
- Направете копија од драјверот за кој се знае дека е добар (и запишете ја верзијата) за да можете брзо да го вратите системот ако некое идно ажурирање повторно го воведе проблемот. Превенцијата заштедува часови кога е време повторно да се ажурира..
Иако грешката VIDEO_TDR_FAILURE е застрашувачка, обично може да се поправи со примена на редослед и метод: точен драјвер, чиста инсталација, термички под контрола и, доколку е потребно, фино подесување на TDR. Со оваа комбинација, креативните задачи, игрите и CAD работат повторно без падови..
Уредник специјализиран за технологија и интернет прашања со повеќе од десет години искуство во различни дигитални медиуми. Работев како уредник и креатор на содржини за компании за е-трговија, комуникација, онлајн маркетинг и рекламирање. Имам пишувано и на веб-страниците за економија, финансии и други сектори. Мојата работа е и моја страст. Сега, преку моите написи во Tecnobits, се трудам да ги истражувам сите новости и нови можности кои светот на технологијата ни ги нуди секој ден за подобрување на нашите животи.

