Очень часто в последнее время сталкиваюсь на нескольких рабочих машинах с зависанием изображения, далее черным экраном на несколько секунд и с последующим выводом сообщения с ошибкой «Видеодрайвер перестал отвечать и был успешно восстановлен» на компьютерах со встроенным графическим адаптером Intel HD Graphics (встроеное видеоядро в процессорах Intel). Данная ошибка может появиться и на видеоадаптерах от AMD и NVIDIA (лично я встречал это гораздо реже, чем на Intel).
Помимо стандартной рекомендации, которой кишит весь интернет, по обновлению версии видеодрайвера и версии DirectX, на официальном сайте Microsoft я наткнулся на еще один вариант решения проблемы, который заключается в изменении Механизма обнаружения и исправления зависания во время ожидания (TDR), а именно корректировки время отклика от зависшего приложения со стандартных 2 секунд до 8 (как пример, можно больше/меньше).
Механизм обнаружения и исправления зависания во время ожидания (TDR) — возможность Windows, позволяющая определить случаи, когда видеоадаптер или драйвер на компьютере обрабатывает операцию дольше, чем ожидается. В этом случае Windows предпринимает попытку восстановить работу и сбросить настройки графического оборудования. Если графическому процессору не удается восстановить работу и сбросить настройки графического оборудования в течение допустимого времени (двух секунд), система может прекратить отвечать на запросы и вывести сообщение об ошибке «Видеодрайвер перестал отвечать и был восстановлен».
Эту проблему можно решить, увеличив время, выделенное механизму обнаружения и исправления зависания для завершения этой операции, с помощью изменения значения реестра.
Для этого выполните указанные ниже действия.
- Закройте все программы Windows.
- Нажмите кнопку Пуск, введите regedit в поле поиска и дважды щелкните файл regedit.exe в списке результатов. Если система запросит пароль администратора или подтверждение, введите пароль или подтвердите действие.
- Найдите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers - В меню Правка нажмите пункт Создать, а затем выберите из раскрывающегося меню указанный параметр реестра для вашей версии Windows (32- или 64-разрядной).
Далее:
- Выберите параметр DWORD (32 бита).
- В поле Имя введите TdrDelay и нажмите клавишу ВВОД.
- Дважды нажмите TdrDelay, введите 8 в поле Значение и нажмите кнопку ОК.
- Выберите параметр QWORD (64 бита).
- В поле Имя введите TdrDelay и нажмите клавишу ВВОД.
- Дважды нажмите TdrDelay, введите 8 в поле Значение и нажмите кнопку ОК.
- Закройте редактор реестра и перезагрузите компьютер, чтобы изменения вступили в силу.
Данное решение — не панацея, а всего лишь еще один вариант исправления проблемы. Если помогло — пишите в комменты.