- Помилка вказує на втрату графічного процесора або скидання налаштувань; це вимагає повторного створення пристрою та ресурсів.
- Тіні, накладання, агресивний 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». У деяких іграх це попередження приховано на весь екран; переведіть гру в modo ventana Це може допомогти візуалізувати це. Нерідко засіб перегляду подій відображає загальні повідомлення, такі як «Фільтр файлової системи 'EasyAntiCheat_EOSSys' (…) успішно вивантажено» які не є коренем проблеми.
Ще один поширений симптом полягає в тому, що після 1-4 годин інтенсивної гри гра просто закривається, а коли ви її знову відкриваєте, У диспетчері пристроїв все виглядає нормально а в журналах контролера немає очевидних критичних помилок. У деяких випадках також з'являються додаткові помилки. Виняток Порушення доступуяке слід розглядати окремо від DXGI.
Поширені причини, які слід врахувати
Хоча список не є вичерпним, ось ті, що повторюються найчастіше: нестабільні або несумісні драйвери, розгін графічного процесора/відеопам'яті/процесора, високі температуриФункції фонового запису/затінення, агресивні налаштування графіки (AA, DSR, 4K@165 Гц), ігрове програмування (набір команд, які зависають драйвер) А в ноутбуках – зміни в активному адаптері. Поєднання кількох факторів зазвичай викликає timeout або "зависання" контролера.
Система також відіграє певну роль: характеристика Апаратно-прискорене планування графічного процесора (HAGS) Іноді це погіршує стабільність, тому його вимкнення — гарний перший крок. І майте на увазі, що фонове оновлення драйвера може спричинити цю помилку, навіть якщо ви цього не помітите. одразу після перезавантаження або виходу з режиму сну.

Швидкі рішення, які варто спробувати спочатку
Перш ніж братися за щось серйозне, відкиньте забобони та почніть з основ і безпечних рішень. Деякі прості заходи включають вимкнути внутрішньоігрове накладання (ShadowPlay/Внутрішньоігрове накладання GeForce Experience)Обмеження FPS, або зниження графічного профілю на один пункт, дає дивовижні результати:
- Деактивуйте In-Game Overlay de Досвід GeForceВідкрийте GeForce Experience від імені адміністратора, перейдіть до розділу «Загальні» та вимкніть опцію «Накладання/спільний доступ у грі».
- Спробуй пограти далі віконний або безрамковий режим щоб переглянути повідомлення про помилку та зменшити кількість змін режиму екрана.
- Тимчасово зменшує роздільна здатність, частота оновлення та усуває DSR Якщо ви форсували роздільну здатність 3840x2160 на моніторі 1080p, це тому, що це навантажує конвеєр.
- Вимкнути HAGS: Налаштування Windows > Система > Дисплей > Графіка > Налаштування графіки за замовчуванням > Апаратно-прискорене програмування на GPU на Вимк.
Якщо ситуація стабілізується таким чином, ви знаєте, що відбувається; якщо ні, Час засукати рукави та продовжуйте з наступних розділів.
Налаштування реєстру TDR: два безпечних підходи (з обережністю)
Windows інтегрує механізм під назвою TDR (Виявлення та відновлення часу очікування) який перезавантажує графічний процесор, якщо йому потрібно забагато часу для відповіді. Ми можемо налаштувати його таймінги, щоб врахувати великі навантаження. Існує два підходи, про які повідомляє спільнота та технічні посібники: збільшення таймінгів за допомогою Затримка Tdr та Затримка TdrDdiабо налаштувати 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 хвилини, грати годинами. хоча це не виправляє інші збої, такі як «Виняток порушення доступу».
- Відкрийте меню «Пуск», введіть regedit та увійдіть до редактора реєстру.
- Вставте в адресний рядок:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers. - На правій панелі клацніть правою кнопкою миші > Створити > Valor de DWORD (32 bits), назвіть це
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 та Anti-aliasing
Захоплення/накладання фону може заважати. Окрім накладання, є ще один цікавий важіль: вимкнути глобальне згладжування з панелі керування NVIDIA. Візуально це не ідеально, але ефективно як тест стабільності.
- Панель керування NVIDIA > Керування налаштуваннями 3D > Configuración global.
- Вимкнути всі опції для Anti-Aliasing (Вимкнено) та застосовується.
- Перевірте, чи гра перестає запускатися DXGI після кількох ігор поспіль.
Якщо це вирішить проблему, ви можете відновити AA в режимі "Контрольоване застосування" або скористатися помірної якостіі поєднати це з обмеженням FPS для стабілізації конвеєра.
Драйвери: Ретельно перевстановіть або відкотіть систему
Більшість випадків вирішуються чистою перевстановленням драйвера графічного процесора. Найнадійнішим методом є використання DDU (Програма видалення драйвера дисплея) У безпечному режимі видаліть усі файли, що залишилися, а потім встановіть рекомендований драйвер. Якщо ви вже пробували це безуспішно, корисним кроком буде... повернутися до попереднього водія з диспетчера пристроїв. Якщо ви використовуєте 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; уникайте частої зміни режиму екрана.
- Якщо ви розганяєте графічний процесор/відеопам'ять/процесор, зменште це налаштування. частоти запасів або навіть невелике зниження напруги.
У деяких іграх запуск у віконному режимі дозволяє побачити сповіщення DXGI, коли втрачається повноекранний режим. Наприклад, гравець запустив «r5apex_dx12.exe» з аргументами -steam +fps_max unlimited -game R2 і лише у вікні можна було прочитати помилку; невеликі зміни режиму Вони впливають на відтворення несправності.
Контрольний список найкращих практик для мінімізації DXGI
Давайте з холодною головою розглянемо логічний порядок вирішення проблеми, не доводячи себе до шаленства. Ідея полягає в тому, щоб перейти від найменш інвазивного до найбільш технічного. тестування між кожним кроком:
- Видаліть накладання/ShadowPlay та будь-який записувач реального часу; вимкніть HAGS.
- Використовуйте рідну роздільну здатність, обмеження FPS та помірне або вимкнене антианаліз на панелі NVIDIA.
- Перевіряйте температуру, вимикайте розгін та уникайте тривалих піків навантаження на частоті 165 Гц, якщо це не є абсолютно необхідним.
- Перевстановіть драйвер за допомогою DDU; якщо це не допоможе, спробуйте попередній стабільний водій і підтвердити.
- Тільки якщо це не зникає, застосуйте один із Налаштування TDR з реєстру та оцінює протягом кількох годин.
- Якщо ви розробляєте, впроваджуєте маршрут Втрачений пристрій HandleDevice, GetDeviceRemovedReason та спробуйте за допомогою dxcap -forcetdr.
Під час тестування тримайте гру у віконному або безрамковому режимі, щоб переглядати повідомлення та відзначати версії. частота появи та внесені зміни. Така відстежуваність заощадить ваш час.
Коли потрібно посилювати проблему
Якщо ви продовжуєте стикатися з частими відкатами після того, як спробували все вищезазначене, саме час звернутися до служби підтримки. підтримка гри Надайте журнали, DxDiag, інформацію про драйвер, точні кроки та інформацію про те, чи виникає помилка з накладанням/HAGS чи без нього. Зробіть те саме з Підтримка виробника графічних процесорів Якщо ви підозрюєте певну версію драйвера. На новому обладнанні також спробуйте стабільний бенчмарк (без потрапляння до DXGI) для виключення фізичних дефектів.
У середовищах розробки це генерує діагностичне захоплення Використовуючи графічні інструменти, запустіть TDR за допомогою dxcap та приєднайте трасу; це полегшить життя інженеру, який має його відтворити, та збільшить ваші шанси на успіх. отримати корисну корекцію.
З огляду на все вищезазначене, у вас є повний спектр причин та рішень для боротьби з DXGI_ERROR_DEVICE_REMOVEDВід вимкнення накладок та зменшення піків навантаження до перевстановлення або відкату драйверів, ретельного налаштування TDR у реєстрі та, якщо ви програмуєте, реалізації логіки відтворення пристроїв та діагностики за допомогою GetDeviceRemovedReason та dxcap. Немає чарівної кулі, але є щось ідеальне. упорядкований шлях для відновлюватися після тривалих сесій та відновіть стабільність у вашій грі, не залишаючи вас на півдорозі.
Редактор, що спеціалізується на технологіях та питаннях Інтернету з більш ніж десятирічним досвідом роботи з різними цифровими медіа. Я працював редактором і творцем контенту для компаній електронної комерції, комунікацій, онлайн-маркетингу та реклами. Я також писав на веб-сайтах з економіки, фінансів та інших секторів. Моя робота також є моєю пристрастю. Тепер через мої статті в Tecnobits, я намагаюся вивчати всі новини та нові можливості, які щодня пропонує нам світ технологій для покращення нашого життя.
