DXGI_ERROR_DEVICE_REMOVED: Причини, решенија и комплетен технички водич

Последно ажурирање: 22.02.2024

  • Грешката укажува на губење или ресетирање на графичката картичка; потребно е повторно креирање на уредот и ресурсите.
  • Сенките, преклопувањата, агресивниот AA, DSR и нестабилните драјвери често го активираат.
  • Прилагодувањата на TDR (TdrDelay/TdrDdiDelay или TdrLevel), плус почистите драјвери, ја подобруваат стабилноста.
  • Во D3D11 мора да ја снимите грешката по Present/ResizeBuffers и да се справите со HandleDeviceLost.
DXGI_ERROR_DEVICE_REMOVED

Ако играте на компјутер, веројатно ќе ја сфатите пораката порано или подоцна. DXGI_ERROR_DEVICE_REMOVEDСе појавува навидум случајно, ја паузира играта на десктопот и ве остава со покер лице во средината на играта. Иако може да изгледа фрустрирачко, постојат неколку добро познати причини и неколку решенија што можете да ги испробате денес.

Во ова упатство, објаснувам, многу детално и без дополнителни детали, што значи оваа грешка, зошто се појавува и како да се справите со неа од различни агли: Системски поставки, драјвери, регистар на Windows, конфигурација на игри и, за оние кои програмираат со Direct3D 11, робустен контролен код. за рекреација на уредот. Исто така, ќе видите случаи на играчи од реалниот живот, дијагностички упатства и важни предупредувања за да избегнете правење неред.

Што е DXGI_ERROR_DEVICE_REMOVED и зошто се јавува?

Грешката DXGI_ERROR_DEVICE_REMOVED Означува дека графичкиот процесор повеќе не е достапен за апликацијата, или затоа што системот го рестартирал (TDR), драјверот е ажуриран, или компјутерот префрлување од интегрирана на наменска графика или буквално, уредот е исклучен. Во Direct3D 11, старата состојба „изгубен уред“ на D3D9 повеќе не постои, но Достапноста на адаптерот може сè уште да се промени и уредот мора да се рекреира.

Меѓу најчестите сценарија се: Ресетирање на графичката картичка поради пад на драјверот, ажурирања на брзи драјвери, префрлување на активните графички процесори на лаптопите, истекување на времето поради големи оптоварувања или проблеми со стабилноста поради оверклокување/температури. Дури и нешто едноставно како менување на мониторите или промена на големината на прозорецот може да ја открие состојбата на отстранетиот уред.

DXGI_ERROR_DEVICE_REMOVED

Типични симптоми и пораки што ќе ги видите

Вообичаената манифестација е пад на работната површина со дијалог прозорец на играчкиот мотор како овој: Фатална грешка – Грешка на моторот и низата „: 0x887A0005“. Во некои игри ова предупредување е скриено на цел екран; ставете ја играта во прозорски режим може да помогне во визуелизацијата. Не е невообичаено Прегледувачот на настани да прикажува генерички пораки како што се „Филтерот на датотечниот систем „EasyAntiCheat_EOSSys“ (…) е успешно растоварен“ кои не се коренот на проблемот.

Друг чест симптом е тоа што по 1 до 4 часа интензивна сесија играта се затвора без понатамошно одложување и, кога ќе ја отворите повторно, Сè изгледа нормално во менаџерот на уреди и во логовите на драјверите, без очигледни критични грешки. Во некои случаи, тие исто така се појавуваат Прекршување на пристапот со исклучок, што треба да се третира како посебно прашање од DXGI.

Вообичаени причини што треба да се земат предвид

Иако списокот не е комплетен, овие се најповторуваните: нестабилни или некомпатибилни драјвери, оверклокување на графичката картичка/VRAM/процесорот, високи температури, функции за снимање/сенчење во позадина, агресивни графички поставки (AA, DSR, 4K@165 Hz), распоред на игри (многу команди што го уриваат драјверот) и, на лаптопите, промените во активниот адаптер. Комбинацијата од неколку фактори често предизвикува тајмаут или „висење“ на контролерот.

Ексклузивна содржина - Кликнете овде  Што да направите ако USB C или Thunderbolt конекторот не го препознава вашиот докинг

Системот, исто така, влијае на: карактеристиката Хардверски забрзано GPU распоредување (HAGS) Понекогаш тоа ја влошува стабилноста, па затоа оневозможувањето е добар прв чекор. И бидете внимателни, ажурирањето на драјверот во позадина може да предизвика оваа грешка без вие дури и да го забележите. веднаш по рестартирање или враќање од режим на спиење.

GeForce Experience не може да ги пронајде вашите игри

Брзи решенија што треба прво да ги испробате

Пред да започнете нешто сериозно, оставете ги настрана суеверијата и фокусирајте се на основните и безбедносните мерки. Некои едноставни мерки, како што се Оневозможете го преклопувањето во играта (GeForce Experience ShadowPlay/In-Game Overlay), ограничувањето на FPS или намалувањето на графичкиот профил за една точка даваат изненадувачки резултати:

  • Деактивирај го In-Game Overlay de GeForce ИскуствоОтворете го GeForce Experience како администратор, одете во Општо и исклучете го „In-Game Overlay/Share“.
  • Обидете се да играте на режим со прозорец или режим без рамка за да ја видите пораката за грешка и да ги намалите промените во режимот на екранот.
  • Привремено се намалува резолуција, брзина на освежување и елиминира DSR ако форсирате 3840×2160 на монитор од 1080p, бидејќи тоа го оптоварува цевководот.
  • Оневозможи HAGS: Поставки за Windows > Систем > Екран > Графика > Стандардни поставки за графика > Хардверски забрзано графичко процесорско програмирање во Инвалиди.

Ако се стабилизира вака, знаете каде оди; ако не, време е да ги засукаме ракавите и продолжете со следните делови.

Дотерувања во регистарот TDR: Два безбедни пристапи (со претпазливост)

Windows интегрира механизам наречен TDR (Технички откривање и обновување) што го рестартира графичкиот процесор ако му треба премногу време да одговори. Можеме да ги прилагодиме неговите временски интервали за да дозволиме големи оптоварувања. Постојат два пристапа пријавени од заедницата и техничките водичи: зголемување на временските интервали со TdrDelay и TdrDdiDelay, или прилагодете Tdr НивоВажно: Допирањето на регистарот носи ризици; направете копија пред да промените нешто.

Суштинско предупредување: Ако не ви е јасно што правите, не продолжувајте.Погрешна промена во регистарот може да го расипе 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 минути да играат со часови, иако не решава други падови како што е „Повреда на пристап со исклучок“.

  1. Отворете го менито „Старт“, напишете регедит и влезете во Уредувачот на регистарот.
  2. Залепете во лентата за адреси: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers.
  3. Во десниот панел, кликнете со десното копче на глувчето > Ново > DWORD (32-битна) вредност, именувај го TdrDdiDelay.
  4. Отворете го, означете ја хексадецималната основа и ставете 3c како Value data (еквивалентно на 60 секунди).
  5. Повторување на креирањето TdrDelay со иста вредност 3c.
  6. Проверете дали постојат и двете и рестартирајте го компјутерот за да ги примените промените.
Ексклузивна содржина - Кликнете овде  CORSAIR MP700 PRO XT: спецификации, перформанси и цена

Идејата е да се натера Windows да почека подолго пред да ја исклучи графичката картичка. При многу тешки оптоварувања, таа дополнителна минута може да го спречи автоматско ресетирање и исклучување на игратаАко не видите никакво подобрување, поништете ја промената или пробајте го следниов метод.

Метод 2: Прилагодување на TdrLevel

Друг водич предлага да се креира вредноста DWORD Tdr Ниво на 0 во истата патека на регистарот за да се измени однесувањето на TDR. Процесот е сличен, но со една вредност:

  1. En Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers, кликнете со десното копче > Ново > DWORD (32 бита).
  2. Дајте му име TdrLevel и ја поставува вредноста на 0.
  3. спаси и рестартирање Windows.

Применувајте само еден од пристапите истовремено и тестирајте. Ако нешто тргне наопаку, вратете се на претходната состојба со враќање на резервната копија. Снимање што направивте на почетокот.

Поставки на NVIDIA: ShadowPlay и Anti-Aliasing

Снимањето/преклопувањето во позадина може да пречи. Покрај преклопувањето, постои уште едно интересно копче: оневозможи глобално анти-алијасирање од контролниот панел на NVIDIA. Визуелно не е идеален, но е ефикасен како тест за стабилност.

  • Контролен панел на NVIDIA > Управување со поставки за 3D > Глобална конфигурација.
  • Оневозможи ги сите опции Anti-Aliasing (Исклучено) и применете.
  • Проверете дали играта престанува да го фрла DXGI по неколку натпревари по ред.

Ако ова го реши проблемот, можете да го вратите AA во режим „Контролирано од апликацијата“ или да користите умерен квалитети комбинирајте го со ограничување на FPS за да го стабилизирате цевководот.

DDU

Драјвери: Темелно повторно инсталирајте или вратете го назад

Повеќето случаи се решаваат со чиста преинсталација на драјверот за графичката картичка. Најсигурен метод е да се користи DDU (Диинсталирање на драјвери за екран) Во Безбеден режим, отстранете ги остатоците, а потоа инсталирајте го препорачаниот драјвер. Ако веќе сте го пробале ова без успех, корисен чекор е врати се на претходниот драјвер од Управувачот со уреди. Ако користите AMD, видете Проблеми со AMD Адреналин што може да пречи за време на инсталацијата.

  • Управувач со уреди > Адаптери за екран > вашата графичка картичка > Својства > Таб. Драјвер.
  • Користете Врати назад si está activo.
  • Ако не, обидете се со „Ажурирај драјвер“ > Автоматско пребарување драјвери или рачно инсталирајте понова верзија. познат по својата стабилност.

По секоја промена на драјверот, рестартирајте го и проверете. Избегнувајте ажурирање на драјверот непосредно пред долга сесија; подобро е да се тестира накратко и да се потврди дека не се појавуваат ниту DXGI ниту „Device Hung“.

Поставки за играта и системот што прават разлика

Освен драјверите и регистарот, клучно е правилно да ги поставите поставките за играта и системот. Комбинацијата од 4K, 165Hz и DSR на Full HD монитор е класика. повремена нестабилностСе намалува на матичната резолуција на мониторот, се ограничува FPS и се намалуваат скоковите на оптоварувањето на графичката картичка.

  • Користете природна резолуција на мониторот (на пр. 1920×1080 ако вашиот панел е 1080p) и оневозможете го DSR.
  • Ограничете го FPS во играта или преку драјвер (на пр. 144 или 120) за да избегнете скокови. Врвови на 165 Hz може да го засити редот на команди.
  • Обидете се да користите правилно конфигуриран V-Sync или G-Sync/Freesync; избегнувајте чести промени на режимот на екранот.
  • Ако користите OC GPU/VRAM/CPU, одете надолу до фреквенции на акции или дури и мал поднапон.
Ексклузивна содржина - Кликнете овде  Решение кога GeForce Experience не може да ги пронајде вашите игри

Во некои наслови, стартувањето во прозорец ви овозможува да го видите DXGI известувањето кога целиот екран е изгубен. На пример, играчот е стартуван «r5apex_dx12.exe» со аргументи -steam +fps_max unlimited -game R2 и само во прозорецот можеше да ја прочита грешката; мали промени во режимот направи разлика во репродукцијата на неуспехот.

Контролна листа на добри практики за минимизирање на DXGI

Ајде да разгледаме, со ладна глава, логичен редослед за справување со проблемот без да се превртуваме. Идејата е да се премине од најмалку инвазивното кон најтехничкото. тестирање помеѓу секој чекор:

  • Отстранете го преклопот/ShadowPlay и сите снимачи во реално време; оневозможете го HAGS.
  • Користете ја природната резолуција, ограничувањето на FPS и умерено или оневозможено AA од NVIDIA панелот.
  • Проверете ги температурите, отстранете ги OC-ата и избегнувајте одржливи врвови на оптоварување на 165 Hz освен ако не е апсолутно неопходно.
  • Реинсталирајте го драјверот со DDU; ако не успее, обидете се со претходен стабилен драјвер и валидирај.
  • Само ако продолжи, примени еден од Поставки за TDR од Регистарот и оценува неколку часа.
  • Ако развиете, имплементирајте ја рутата на Изгубеноуредзарачка, GetDeviceRemovedReason и обидете се со dxcap -forcetdr.

За време на тестирањето, држете ја играта со прозорци или без рамки за да ги видите пораките и да ги забележите верзиите, фреквенција на појавување и направените промени. Оваа следливост ќе ви заштеди време.

Кога да се ескалира проблемот

Доколку откако ќе ги испробате сите горенаведени мерки, сè уште се соочувате со чести забрани, препорачливо е да го заокружите процесот. Отворете тикет со поддршка за играта обезбедување логови, DxDiag, информации за драјверот, точни чекори и дали грешката се појавува со или без преклопување/HAGS. Направете го истото со Поддршка од производителот на графичкиот процесор ако се сомневате во одредена верзија на драјвер. На нов хардвер, обидете се и со стабилен репер (без да се запаѓа во DXGI) за да се исклучат физички дефекти.

Во развојните средини, тоа генерира дијагностичко снимање Со графичките алатки, активирајте го TDR со dxcap и прикачете ја трагата; ќе му го олесните животот на инженерот кој треба да ја репродуцира и ќе имате повеќе шанси за добијте корисна корекција.

Со сето погоре наведено, имате целосен спектар на причини и решенија за справување со DXGI_ERROR_DEVICE_REMOVED: од оневозможување на преклопувања и намалување на врвните оптоварувања, до повторно инсталирање или враќање на драјвери, до прилагодување на TDR во регистарот со интелигенција и, ако програмирате, имплементирање на рекреација на уреди и дијагностичка логика со GetDeviceRemovedReason и dxcap. Нема сребрен куршум, но постои уредна патека за долги сесии за опоравување и вратете ја стабилноста на вашата игра без да потфрлите.

Порака за изгубен уред во Unreal Engine
Поврзана статија:
Објаснување на пораката за изгубен уред во Unreal Engine: Причини и решенија од реалниот свет