- درایور مربوطه (nvlddmkm.sys، igdkmd64.sys، atikmdag.sys) را شناسایی کرده و رویدادهای TDR را بررسی کنید.
- نصب درایورهای بینقص را در اولویت قرار دهید و اگر از برنامههای حرفهای استفاده میکنید، نسخه Studio/stable را امتحان کنید.
- کنترل دما و توان؛ جلوگیری از تعویض iGPU/dGPU تحت بارهای سنگین.
- از SFC/Startup Repair استفاده کنید و تنها در صورت لزوم، TdrDelay را با دقت تنظیم کنید.
وقتی کامپیوتر شما وسط کار از کار میافتد و صفحه آبی مرگ ظاهر میشود ویدیو_شکست_TDRطبیعی است که فکر کنیم همه چیز ناگهان خراب شده است؛ در واقع، سیستم پس از یک خرابی سعی در بازیابی پردازنده گرافیکی داشته و موفق نشده است. این کد توقف این ارتباط نزدیکی با درایور گرافیک و مکانیسم زمانبندی، تشخیص و بازیابی (TDR) دارد.بنابراین، درک نحوهی عملکرد آن، نیمی از راه حل است.
در ادامه، راهنمای کاملی را خواهید یافت که توضیحات فنی رسمی را با رویهها و ترفندهای میدانی که در سناریوهای واقعی کار میکنند، ترکیب میکند. هدف این است که شما بتوانید تشخیص، اصلاح و جلوگیری از این خطا چه یک کاربر حرفهای WinDbg باشید و چه مراحل سادهی ویندوز را ترجیح دهید.
خطای VIDEO_TDR_FAILURE (0x00000116) چیست و چرا ظاهر میشود؟
خطای VIDEO_TDR_FAILURE مربوط به بررسی اشکال 0x00000116 و نشان میدهد که ویندوز پس از یک وقفه زمانی، سعی در تنظیم مجدد درایور ویدیو و GPU داشته و ناموفق بوده است. زیرسیستم گرافیک ویندوز، GPU را با TDR نظارت میکند: اگر GPU گیر کند و پاسخگو نباشد، سعی میکند درایور را مجدداً راهاندازی کند تا دسکتاپ را بازیابی کند.
این مکانیزم TDR یک تایمر پیشفرض حدود ۲ ثانیه دارد: اگر وظیفه گرافیکی به موقع تمام نشود یا راهاندازی مجدد درایور کامل نشود، بررسی خطا آغاز میشود.
وقتی فرآیند بازیابی موفقیتآمیز باشد، پیام «درایور نمایشگر از پاسخگویی بازماند و بازیابی شد» را مشاهده خواهید کرد. وقتی بازیابی ناموفق باشد، سیستم اجرا را متوقف میکند و صفحه آبی با خطای VIDEO_TDR_FAILURE نمایش میدهد..
پارامترهای بررسی اشکال و نحوه تفسیر آنها
علاوه بر کد 0x116، صفحه آبی و دادههای حافظه شامل چهار پارامتر هستند که به اشکالزدایی منبع دقیق خطای VIDEO_TDR_FAILURE کمک میکنند. دانستن معنای هر پارامتر، تشخیص را هدایت کرده و سرعت حل مسئله را افزایش میدهد.:
| پارامتر | شرح |
|---|---|
| 1 | اشارهگر به زمینه بازیابی داخلی TDR (TDR_RECOVERY_CONTEXT)، در صورت وجود. |
| 2 | آدرس در ماژول راننده مسئول (برای شناسایی راننده مربوطه استفاده میشود). |
| 3 | کد NTSTATUS آخرین عملیات ناموفق، در صورت وجود. |
| 4 | دادههای داخلی وابسته به زمینه، که در سناریوهای خاص در دسترس هستند. |
در ردیابیهای واقعی، معمولاً یک فایل .sys از درایور گرافیک درگیر است: برای مثال، nvlddmkm.sys (انویدیا)، igdkmd64.sys (اینتل) یا atikmdag.sys/atikmpag.sys (AMD/ATI). این سرنخ کلیدی است: به مسیر ارائهدهنده و درایوری که باعث خرابی میشود اشاره میکند..
چرا اتفاق میافتد: علل معمول در دنیای واقعی
رایجترین الگو این است که پردازنده گرافیکی (GPU) برای مدت طولانی تحت بار سنگین (بازی، CAD، رمزگشایی یا رندر) مشغول میماند و به موقع پاسخ نمیدهد. از آنجا، شایعترین محرکها عبارتند از:
- درایورهای قدیمی یا معیوب:
- تداخل بین پردازنده گرافیکی مجتمع و اختصاصی
- گرمای بیش از حد
فراتر از نرمافزار، سختافزار نیز در بروز خطای VIDEO_TDR_FAILURE نقش دارد: ماژولهای حافظه با زمانبندی نامناسب، مادربردهای اورکلاک شده، منبع تغذیه/پاور ناکافی، VRAM/GPU با عملکرد ضعیف یا خنککننده ضعیف در لپتاپهای جمعوجور. اگر تجهیزات با دما یا توان بسیار پایین کار کنند، TDR زودتر و با فرکانس بیشتری جهش میکند..
عوامل محیطی نیز وجود دارند: تعداد زیادی از فرآیندهای پسزمینه که برای منابع رقابت میکنند، بهروزرسانیهای اخیر به اشتباه نصب شدهاند یا بستههای گرافیکی (DirectX، OpenGL، Vulkan) قدیمی هستند. سیستمی با بار پسزمینه بالا و اجزای گرافیکی ناهماهنگ، گزینه مناسبی برای این بررسی باگ است.

تشخیص با WinDbg و گزارشها: نحوه شناسایی مقصر
اگر با dumpهای حافظه (minidumps) کار میکنید، 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>
با شروع از پارامتر ۲، میتوانید ماژول را با lmvm فهرست کنید و مهر زمانی، مسیر و اندازه را بررسی کنید. اگر nvlddmkm.sys یا معادل آن ظاهر شد، شما از قبل مظنون اصلی خود را پیدا کردهاید..
kd> lmvm nvlddmkm
start end module name
... nvlddmkm.sys
Image path: \SystemRoot\system32\DRIVERS\nvlddmkm.sys
Timestamp: <fecha>
با پارامتر ۱، در صورت وجود، میتوان 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
...
مراحل حل مسئله: از مقدماتی تا پیشرفته
قبل از باز کردن ویرایشگر رجیستری یا اجرای اشکالزداها، روی معیارهایی با بهترین نسبت تلاش/تأثیر تمرکز کنید. با درایورها شروع کنید، سپس به سراغ تمیز کردن/نصب مجدد بروید، و اگر هنوز مشکل پابرجا بود، به سراغ تنظیمات پیشرفته و تأیید سختافزار بروید..
۱) درایور گرافیک و چیپست را به درستی بهروزرسانی کنید
درایورهای گرافیکی قدیمی یا دارای باگ، شایعترین علت TDRها هستند. به Device Manager بروید، Display Adapters را باز کنید، روی GPU خود کلیک راست کنید و "Update Driver" را انتخاب کنید. حتی بهتر از آن: نسخه پیشنهادی برای مدل خود را از وبسایت رسمی NVIDIA/Intel/AMD دانلود کنید..
اگر از کارت گرافیک انویدیا با نرمافزارهای حرفهای (CAD، ویرایش، سهبعدی) استفاده میکنید، به جای درایورهای Game Ready، درایورهای Studio را امتحان کنید. در لپتاپهایی با Intel iGPU + NVIDIA dGPU، آخرین بسته و چیپست Intel را از سازنده کامپیوتر نیز نصب کنید..
۲) نصب مجدد درایور به صورت تمیز (DDU)
وقتی بهروزرسانیهای «بدون نسخه» کافی نیستند، ایده خوبی است که بقایای درایور قبلی را پاک کنید. ابزار حذف درایور نمایشگر (DDU) اجزای درایور، سرویسها و ورودیهای رجیستری را حذف میکند. توصیه میشود آن را در حالت Safe Mode اجرا کنید و سپس درایور تازه دانلود شده را نصب کنید..
توالی معمول: حالت ایمن، DDU "پاکسازی و راهاندازی مجدد"، ویندوز را به طور عادی راهاندازی کنید و سپس درایور دانلود شده از وبسایت سازنده را نصب کنید. این فرآیند از تداخل نسخهها و فایلهای خراب که نصبکننده استاندارد همیشه آنها را حل نمیکند، جلوگیری میکند..
۳) یک نسخه پایدار قبلی را امتحان کنید
گاهی اوقات، آخرین نسخه دچار پسرفت میشود. در این صورت، از «درایور قبلی» (در صورت وجود) استفاده کنید یا نسخه پایدار قبلی را به صورت دستی نصب کنید. با پردازندههای گرافیکی انویدیا، بسیاری از مشکلات TDR در CAD با بازگشت به درایور قبلی Studio از بین میروند..
برای نصب دستی، از «مرور نرمافزار درایور در رایانه من» و «اجازه دهید از لیست درایورهای موجود انتخاب کنم» استفاده کنید و نسخه قبلی پردازنده گرافیکی خود را انتخاب کنید. پس از اتمام، برای تأیید تغییر، راهاندازی مجدد کنید.
۴) فایلهای سیستمی را با SFC تعمیر کنید
اگر مشکل پس از بهروزرسانی یا نصب ناموفق رخ داد، System File Checker را اجرا کنید. CMD را به عنوان مدیر باز کنید و sfc /scannow را اجرا کنید. ویندوز فایلهای باینری محافظتشده را بررسی کرده و بهطور خودکار فایلهای آسیبدیده را جایگزین میکند..
sfc /scannow
پس از اتمام، سیستم را مجدداً راهاندازی کنید و بارگذاری معمول گرافیک خود را دوباره امتحان کنید تا ببینید آیا TDR ناپدید شده است یا خیر. اگر SFC فایلها را تعمیر کند، نشانه خوبی است که یک خرابی سیستمی روی گرافیک تأثیر گذاشته است..
۵) تعمیر راهاندازی ویندوز
اگر TDR پس از ورود به سیستم یا هنگام باز کردن برنامههای مشابه، مکرراً ظاهر میشود، با رفتن به تنظیمات > بهروزرسانی و امنیت > بازیابی > راهاندازی پیشرفته > عیبیابی > گزینههای پیشرفته > تعمیر راهاندازی، Startup Repair را اجرا کنید. ویندوز تلاش خواهد کرد تا سرویسها و اجزای راهاندازی که به درستی بارگذاری نمیشوند را تعمیر کند..
پس از تعمیر، تجهیزات را با همان الگوی استفادهای که باعث خرابی شده بود، آزمایش کنید. اگر پخش متوقف شد، مشکل از بوت جزئی یا وابستگیهای خراب بوده است..
۶) حالت ایمن و نصب مجدد درایور
حالت ایمن (Safe Mode) حداقل درایورها را بارگذاری میکند و امکان حذف/نصب مجدد را بدون وقفه فراهم میکند. گزینه "Safe Boot" را در msconfig انتخاب کنید یا از Advanced Startup به آن دسترسی پیدا کنید و در آنجا، آداپتور را در Device Manager حذف نصب کنید. سپس درایور جدید دانلود شده از سایت سازنده را نصب کنید..
در رایانههایی که دو پردازنده گرافیکی (GPU) دارند، آنها را جداگانه حذف و دوباره نصب کنید: ابتدا پردازنده یکپارچه (اینتل) و سپس پردازنده اختصاصی (NVIDIA/AMD). این کار مانع از تزریق مجدد یک ژنریک نامناسب توسط ویندوز در این بین میشود..
۷) تعمیر فایل درایور خاص (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
۸) در صورت وجود تداخل، پردازنده گرافیکی اینتل (iGPU) را موقتاً غیرفعال کنید
اگر از یک پردازنده گرافیکی اختصاصی به عنوان پردازنده اصلی خود استفاده میکنید (مثلاً NVIDIA)، Intel HD/UHD را در Device Manager غیرفعال کنید تا از مشکل تعویض جلوگیری شود. در برخی لپتاپها، سوئیچینگ خودکار هنگام جابجایی برنامهها بین iGPU/dGPU باعث فعال شدن TDRها میشود..
حتی بهتر: در کنترل پنل NVIDIA، dGPU خاص را به برنامههای سنگین (acad.exe، بازیها) اختصاص دهید و بقیه را روی حالت خودکار بگذارید. به این ترتیب تغییرات آداپتور را هنگام باز/بسته کردن پنجرهها به حداقل میرسانید و از بازنشانیهای زمینه گرافیکی جلوگیری میکنید..
۹) سختافزار و سیستم گرمایشی را بررسی کنید
دما را با یک ابزار قابل اعتماد بررسی کنید: اگر پردازنده گرافیکی از آستانهها و گلوگاهها فراتر رود، TDRها ظاهر میشوند. گرد و غبار را تمیز کنید، در صورت لزوم خمیر حرارتی را تعویض کنید و از تهویه مناسب اطمینان حاصل کنید. در لپتاپها، یک پد خنککننده میتواند در طول استفادههای طولانی مدت تفاوت زیادی ایجاد کند..
رم (ابزار تشخیص حافظه ویندوز) و پایداری سیستم را بدون اورکلاک بررسی میکند. تنظیمات نادرست حافظه یا محدودیتهای ولتاژ باعث بیثباتی در زیر بار گرافیکی میشود. پایداری CPU/RAM/VRM به اندازه خود GPU مهم است..
۱۰) تنظیمات پیشرفته TDR (با احتیاط)
برای حجم کارهای سنگین که به طور قانونی کمی بیشتر طول میکشند، افزایش TdrDelay ممکن است کمک کند. مسیر: HKLM\System\CurrentControlSet\Control\GraphicsDrivers. یک DWORD 32 بیتی به نام TdrDelay ایجاد کنید/آن را روی 8-10 تنظیم کنید و سیستم را مجدداً راهاندازی کنید. این کار درایورهای بد را برطرف نمیکند، اما قبل از اعلام مهلت، آزادی عمل بیشتری میدهد..
فقط در صورتی از آن استفاده کنید که درایورها را بهروزرسانی/تمیز کرده و سیستمهای حرارتی را بررسی کرده باشید؛ اگر مشکل از درایور است، تمدید زمان فقط صفحه آبی مرگ (BSOD) را به تعویق میاندازد. اگر پس از افزایش TdrDelay، خرابیها ادامه یافت، به ۲ برگردید و ریشه را اصلاح کنید.
چک لیست سریع قبل از اینکه مشکل را حل شده در نظر بگیرید
برای اطمینان از اینکه مشکل VIDEO_TDR_FAILURE را حل کردهاید، باید بررسیهای زیر را انجام دهید:
- تأیید کنید که رویدادهای تکراری TDR دیگر در طول یک جلسه طولانی با بار معمول شما در Event Viewer ظاهر نمیشوند. اگر در شرایط واقعی 30 تا 60 دقیقه را بدون TDR بگذرانید، این راهکار مؤثر است..
- با نظارت بر دما، یک تست استرس متوسط (بنچمارک گرافیکی یا صحنه پیچیده در برنامه خود) اجرا کنید. یک کارت گرافیک پایدار، کلاکهای پایدار را بدون ایجاد اختلال یا خطا حفظ میکند..
- یک کپی از درایور شناختهشده و سالم تهیه کنید (و نسخه آن را یادداشت کنید) تا اگر بهروزرسانیهای بعدی دوباره مشکل را ایجاد کردند، بتوانید به سرعت به حالت قبل برگردید. پیشگیری، وقتی زمان بهروزرسانی دوباره فرا میرسد، ساعتها در وقت صرفهجویی میکند..
اگرچه خطای VIDEO_TDR_FAILURE ترسناک است، اما معمولاً با اعمال ترتیب و روش میتوان آن را برطرف کرد: درایور صحیح، نصب تمیز، کنترل ترمالها و در صورت لزوم، تنظیم دقیق TDR. با این ترکیب، کارهای خلاقانه، بازیها و CAD دوباره بدون مشکل کار میکنند..
ویراستار متخصص در مسائل فناوری و اینترنت با بیش از ده سال تجربه در رسانه های مختلف دیجیتال. من به عنوان ویراستار و تولید کننده محتوا برای شرکت های تجارت الکترونیک، ارتباطات، بازاریابی آنلاین و تبلیغات کار کرده ام. من همچنین در وب سایت های اقتصاد، دارایی و سایر بخش ها نوشته ام. کار من نیز علاقه من است. اکنون، از طریق مقالات من در Tecnobits، سعی می کنم تمام اخبار و فرصت های جدیدی را که دنیای فناوری هر روز برای بهبود زندگی مان به ما ارائه می دهد، کشف کنم.

