- Ошибка указывает на потерю графического процессора или перезагрузку; требуется пересборка устройства и ресурсов.
- Обычно ее вызывают тени, наложения, агрессивный AA, DSR и нестабильные драйверы.
- Настройки TDR (TdrDelay/TdrDdiDelay или TdrLevel), более чистые драйверы, улучшенная стабильность.
- В D3D11 необходимо перехватить ошибку после Present/ResizeBuffers и обработать HandleDeviceLost.
Если вы играете на ПК, то, скорее всего, рано или поздно вы столкнетесь с этим сообщением. DXGI_ERROR_DEVICE_REMOVEDЭта ошибка появляется, казалось бы, случайным образом, вызывая вылет игры на рабочий стол и оставляя вас с каменным лицом посреди игры. Хотя это может показаться неприятным, существует несколько известных причин и несколько решений, которые вы можете попробовать уже сегодня.
В этом руководстве я подробно и без излишеств объясняю, что означает эта ошибка, почему она возникает и как ее решать с разных сторон: Системные настройки, драйверы, реестр Windows, конфигурация игры и, для тех, кто программирует с помощью Direct3D 11, надежный управляющий код. для воссоздания устройства. Вы также увидите примеры реальных игровых ситуаций, рекомендации по диагностике и важные предупреждения, которые помогут избежать ошибок.
Что такое DXGI_ERROR_DEVICE_REMOVED и почему оно возникает?
Ошибка DXGI_ERROR_DEVICE_REMOVED Указывает, что графический процессор больше не доступен приложению, либо потому, что система перезапустила его (TDR), либо потому, что драйвер был обновлен, либо потому, что компьютер переключение с интегрированной на дискретную графику или буквально, устройство было отключено. В Direct3D 11 старое состояние «устройство потеряно» D3D9 больше не существует, но доступность адаптера может еще измениться и устройство должно быть создано заново.
Наиболее распространенные сценарии: Сброс графического процессора из-за сбоя драйвера, горячих обновлений драйверов, переключения активных графических процессоров на ноутбуках, тайм-аутов из-за больших нагрузок или проблемы со стабильностью из-за разгона/перегрева. Даже такое простое действие, как переключение мониторов или изменение размера окна, может выявить проблему с удалённым устройством.

Типичные симптомы и сообщения, которые вы увидите
Обычное проявление — вылет на рабочий стол с диалоговым окном игрового движка, подобным этому: Фатальная ошибка – Ошибка двигателя и строка «: 0x887A0005». В некоторых играх это предупреждение скрыто в полноэкранном режиме; переведите игру в режим оконный режим Может помочь визуализировать это. Нередко в окне просмотра событий отображаются общие сообщения, например: «Фильтр файловой системы 'EasyAntiCheat_EOSSys' (…) успешно выгружен» которые не являются корнем проблемы.
Другим распространенным симптомом является то, что после 1–4 часов интенсивной сессии игра закрывается без дальнейших происшествий, а когда вы снова ее открываете, в диспетчере устройств все выглядит нормально и в журналах драйверов, без явных критических ошибок. В некоторых случаях они также появляются Нарушение доступа к исключению, который следует рассматривать как отдельный вопрос от DXGI.
Распространенные причины, которые следует учитывать
Хотя список неполный, вот наиболее повторяемые: нестабильные или несовместимые драйверы, разгон GPU/VRAM/CPU, высокие температуры, функции фоновой записи/шейдинга, агрессивные графические настройки (AA, DSR, 4K@165 Гц), планирование игр (множество команд, которые приводят к сбою драйвера) А на ноутбуках — активная смена адаптера. Сочетание нескольких факторов часто приводит к таймаут или «зависание» контроллера.
Система также влияет на: характеристику Аппаратно-ускоренное планирование графического процессора (HAGS) Иногда это ухудшает стабильность, поэтому отключение этой функции — хороший первый шаг. И будьте осторожны: фоновое обновление драйверов может вызвать эту ошибку, даже если вы этого не заметите. сразу после перезагрузки или выхода из спящего режима.

Быстрые решения, которые стоит попробовать в первую очередь
Прежде чем начать что-то серьёзное, отбросьте свои суеверия и сосредоточьтесь на основах и мерах безопасности. Некоторые простые меры, такие как Отключить внутриигровой оверлей (GeForce Experience ShadowPlay/In-Game Overlay), ограничение FPS или понижение графического профиля на один пункт дают удивительные результаты:
- Отключить In-Game Overlay de GeForce Experience: Откройте GeForce Experience от имени администратора, перейдите в раздел «Основные» и отключите «Внутриигровой оверлей/общий доступ».
- Попробуйте поиграть на оконный или безрамочный режим для просмотра сообщения об ошибке и уменьшения изменений режима экрана.
- Временно уменьшает разрешение, частота обновления и устранение DSR если вы принудительно устанавливаете разрешение 3840×2160 на мониторе 1080p, так как это создает нагрузку на конвейер.
- Отключить HAGS: Параметры Windows > Система > Дисплей > Графика > Параметры графики по умолчанию > Аппаратно-ускоренное программирование GPU на Выкл.
Если ситуация стабилизируется, вы знаете, куда она идет; если нет, пора засучить рукава и продолжайте читать следующие разделы.
Настройки реестра TDR: два безопасных подхода (с осторожностью)
Windows интегрирует механизм, называемый TDR (обнаружение и восстановление тайм-аута) который перезапускает графический процессор, если он слишком долго отвечает. Мы можем настроить его тайминги для работы с большими нагрузками. Сообщество и технические руководства сообщают о двух подходах: увеличение таймингов с помощью TdrDelay и TdrDdiDelayили отрегулировать TdrLevelВажно: работа с реестром сопряжена с риском; перед внесением каких-либо изменений сделайте его копию.
Важное предупреждение: Если вы не понимаете, что делаете, не продолжайте.Ошибочное изменение реестра может привести к сбою Windows. Скопируйте эту команду в командную строку от имени администратора, прежде чем продолжить:
reg export "HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers" "%USERPROFILE%\Desktop\GraphicsDrivers.reg" /y
Метод 1: Увеличение времени с помощью TdrDelay и TdrDdiDelay
Хитрость, которая спасла целые сеансы для более чем одного человека, заключается в добавлении двух значений DWORD (32-бит) в HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers с шестнадцатеричным значением 3c (60)Этот метод позволил людям, которые раньше выходили из игры через 3-4 минуты, играть часами, хотя это не решает другие сбои, такие как «Нарушение исключений доступа».
- Откройте меню «Пуск», введите реестр и войдите в редактор реестра.
- Вставьте в адресную строку:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers. - На правой панели щелкните правой кнопкой мыши > Создать > Значение типа DWORD (32-битное)., назови это
TdrDdiDelay. - Откройте его, отметьте шестнадцатеричную систему счисления и введите
3cкак Value data (эквивалентно 60 секундам). - Повторите создание
TdrDelayс тем же значением 3c. - Проверьте наличие обоих и перезагрузите компьютер, чтобы изменения вступили в силу.
Идея заключается в том, чтобы заставить Windows ждать дольше перед выключением графического процессора. При очень высоких нагрузках эта дополнительная минута может предотвратить автоматический сброс и исключение из игрыЕсли вы не видите никаких улучшений, отмените изменение или попробуйте следующий метод.
Метод 2: настройка TdrLevel
Другое руководство предлагает создать параметр DWORD TdrLevel Значение 0 в том же разделе реестра изменит поведение TDR. Процесс аналогичен, но с одним значением:
- En
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers, щелкните правой кнопкой мыши > Создать > Слово типа DWORD (32 бита). - Дайте ему имя
TdrLevelи устанавливает значение 0. - сохранить и перезапуск Окна.
Применяйте только один из подходов одновременно и проверяйте. Если что-то пойдёт не так, вернитесь к предыдущему состоянию, восстановив резервную копию. Записывать что вы сделали в начале.
Настройки NVIDIA: ShadowPlay и сглаживание
Фоновый захват/наложение могут мешать. Помимо наложения, есть ещё один интересный переключатель: отключить глобальное сглаживание из панели управления NVIDIA. Визуально это неидеально, но эффективно для проверки стабильности.
- Панель управления NVIDIA > Управление настройками 3D > Глобальная конфигурация.
- Отключить все параметры Anti-Aliasing (Выкл.) и применить.
- Проверьте, перестала ли игра бросать DXGI после нескольких игр подряд.
Если это поможет, вы можете восстановить AA в режиме «Управляемый приложением» или использовать умеренное качествои объединить его с ограничением FPS для стабилизации трубопровода.
Драйверы: Полностью переустановите или откатите назад.
Большинство проблем решается чистой переустановкой драйвера видеокарты. Самый надёжный способ — использовать DDU (Display Driver Uninstaller) В безопасном режиме удалите остатки и установите рекомендуемый драйвер. Если вы уже пробовали это, но безуспешно, вот полезный шаг: вернуться к предыдущему драйверу из диспетчера устройств. Если вы используете AMD, см. Проблемы с AMD Adrenalin которые могут помешать во время установки.
- Диспетчер устройств > Видеоадаптеры > ваш графический процессор > Свойства > вкладка Драйвер.
- Использовать Откатить назад si está activo.
- Если нет, попробуйте «Обновить драйвер» > Автоматический поиск драйверов или вручную установите более новую версию. известен своей стабильностью.
После любого изменения драйвера перезагрузите компьютер и проверьте. Избегайте обновления драйвера непосредственно перед длительным сеансом.; лучше провести краткий тест и убедиться, что не появляется ни DXGI, ни «Устройство зависло».
Настройки игры и системы, которые имеют значение
Помимо драйверов и реестра, важно правильно настроить игру и систему. Сочетание 4K, 165 Гц и DSR на мониторе Full HD — это классика. прерывистая нестабильность. Снижает разрешение до родного монитора, ограничивает FPS и снижает скачки нагрузки на графический процессор.
- Использовать родное разрешение монитора (например, 1920×1080, если ваша панель 1080p) и отключите DSR.
- Ограничьте FPS в игре или с помощью драйвера (например, 144 или 120), чтобы избежать скачков. Пики на частоте 165 Гц может привести к переполнению очереди команд.
- Попробуйте использовать правильно настроенную V-Sync или G-Sync/Freesync; избегайте частой смены режима экрана.
- Если вы разгоняете GPU/VRAM/CPU, перейдите к частоты акций или даже небольшое понижение напряжения.
В некоторых играх запуск в окне позволяет увидеть предупреждение DXGI при потере полноэкранного режима. Например, если запущен проигрыватель «r5apex_dx12.exe» с аргументами -steam +fps_max unlimited -game R2 и только в окне он мог прочитать ошибку; небольшие изменения в режиме иметь значение в воспроизведении неудачи.
Контрольный список рекомендуемых практик для минимизации DXGI
Давайте, хладнокровно и здраво рассмотрим логичный порядок решения проблемы, не сойдя с ума. Идея заключается в том, чтобы двигаться от наименее инвазивных к наиболее техничным. тестирование между каждым шагом:
- Удалите оверлей/ShadowPlay и все средства записи в реальном времени; отключите HAGS.
- Используйте родное разрешение, ограничение FPS и умеренное сглаживание или отключите его с панели NVIDIA.
- Проверьте температуру, отключите OC и избегайте длительных пиковых нагрузок на частоте 165 Гц, если в этом нет крайней необходимости.
- Переустановите драйвер с помощью DDU; если не получится, попробуйте предыдущий стабильный драйвер и подтвердить.
- Только если проблема сохраняется, примените одно из следующих средств: Настройки TDR из Реестра и оценивается в течение нескольких часов.
- Если вы разрабатываете, реализуете маршрут HandleDeviceLost, GetDeviceRemovedReason и попробуйте с dxcap -forcetdr.
Во время тестирования держите игру в оконном режиме или без рамки, чтобы видеть сообщения и записывать версии. частота появления и внесённые изменения. Такая отслеживаемость сэкономит вам время.
Когда следует эскалировать проблему
Если после всех вышеперечисленных действий вы всё ещё сталкиваетесь с частыми блокировками, рекомендуется обратиться к специалисту. Откройте тикет поддержка игры Предоставьте журналы, DxDiag, информацию о драйвере, точные шаги и информацию о том, появляется ли ошибка с оверлеем/HAGS или без него. Сделайте то же самое с Поддержка производителя графического процессора Если вы подозреваете, что проблема связана с конкретной версией драйвера. На новом оборудовании также попробуйте стабильный бенчмарк (без попадания в DXGI) для исключения физических дефектов.
В средах разработки он генерирует диагностический захват С помощью графических инструментов запустите TDR с помощью dxcap и прикрепите трассировку; вы облегчите жизнь инженеру, которому нужно воспроизвести ее, и у вас будет больше шансов получить полезную коррекцию.
Учитывая все вышесказанное, у вас есть полный спектр причин и решений для борьбы с DXGI_ERROR_DEVICE_REMOVED: от отключения оверлеев и снижения пиковых нагрузок до переустановки или отката драйверов, интеллектуальной настройки TDR в реестре и, если вы программист, реализации пересоздания устройств и логики диагностики с помощью GetDeviceRemovedReason и dxcap. Волшебной пули нет, но есть упорядоченный путь для восстановить длительные сеансы и восстановите стабильность своей игры, не допуская ошибок.
Редактор, специализирующийся на вопросах технологий и Интернета, с более чем десятилетним опытом работы в различных цифровых медиа. Я работал редактором и создателем контента в компаниях, занимающихся электронной коммерцией, коммуникациями, онлайн-маркетингом и рекламой. Я также писал на сайтах по экономике, финансам и другим секторам. Моя работа – это также моя страсть. Теперь, благодаря моим статьям в Tecnobits, я стараюсь каждый день изучать все новости и новые возможности, которые предлагает нам мир технологий, чтобы улучшить нашу жизнь.
