- VK_ERROR_DEVICE_LOST gefur venjulega til kynna endurstillingu á reklum eða bilun í skiptikeðju.
- Breytingar á hverjum leik (eins og lagskipt DXGI Swapchain) geta stöðugað titla.
- Nýjar viðbætur (t.d. skuggahlutir) auka hættuna á skráningum.
- Nákvæmar útgáfur af stýrikerfum/reklum og skrár eru lykilatriði til að afrita og laga vandamál.

Ef þú hefur rekist á skilaboðin VK_ERROR_DEVICE_LOST Þegar þú spilar leiki eða hannar forrit með Vulkan ert þú ekki einn: þetta er algengt vandamál sem getur komið fram sem hrun, óvæntar lokanir eða jafnvel lykkjur þar sem forritið lokast ekki alveg. Þótt það sé ógnvekjandi hefur það yfirleitt skýringu og, síðast en ekki síst, leiðir til að draga úr því eða leysa það.
Í þessari handbók finnur þú Raunveruleg dæmi á Windows og Linux, með leikjum og tólum, vísbendingar til að greina upprunann, stillingar sem hafa hjálpað öðrum notendum (eins og tiltekna stillingu í NVIDIA stjórnborðinu fyrir Detroit: Become Human með RTX 3080), og Áreiðanlegar heimildir til að skilja Vulkan beturHugmyndin er sú að þú eyðir ekki tíma í að hoppa á milli spjallsvæða og hafir í fljótu bragði lausnirnar sem raunverulega bjóða upp á möguleika. Við skulum læra allt um... villa VK_ERROR_DEVICE_LOST.
Hvað þýðir VK_ERROR_DEVICE_LOST og hvers vegna birtist það?
Í Vulkan gefur VK_ERROR_DEVICE_LOST villan til kynna að rökrétta tækið hefur hætt að virka: GPU-reklarinn hefur endurræst það, reklarinn frysti, TDR kom upp vegna lokunar eða biðröðunartímalokunar, eða forritið sendi eitthvað sem vélbúnaðurinn/reklarinn gat ekki höndlað. Það endar ekki alltaf með hruni; stundum, eins og við munum sjá, Forritið festist í lykkju og þarf að loka því með valdi.
Þó að mynstrið sé mismunandi eftir búnaði og hugbúnaði, þá eru algengustu kveikjurnar Óstöðugir reklar, mjög nýjar viðbætur, lög/yfirlögn, tímamörk kerfisins og stundum bara óheppilegar samsetningar grafíkstillinga. Að þekkja raunveruleg dæmi hjálpar til við að endurskapa og leysa vandamálið.
Raunveruleg tilfelli: hvað gerðist og hvað var gert

Detroit: Become Human á Windows, RTX 3080 og afgerandi breyting hjá NVIDIA
Notandi með GeForce RTX 3080 var stöðugt að upplifa leikjahrun með VK_ERROR_DEVICE_LOST þrátt fyrir að gera dæmigerða eftirfarandi: Uppfæra rekla, prófa samhæfniham og skoða valkostiLausnin sem virkaði fyrir mig var að fara í NVIDIA stjórnborðið og breyta tiltekinni stillingu sem tengist Vulkan/OpenGL á forritastigi.
Leiðin, sem var sett fram á annan hátt, var svona: NVIDIA stjórnborð > Stjórna 3D stillingum > Forritstillingar > veldu Detroit: Become HumanÍ forstillingarstillingunni fyrir Vulkan/OpenGL skipti sköpum að stilla hana á "Kjós eftir lögum í DXGI Swapchain«. Með þeirri breytingu, endurteknar lokanir hurfu tengt VK_ERROR_DEVICE_LOST.
Þetta dæmi sýnir að stundum, samhæfingaraðlögun eða hvernig skiptikeðjan er stjórnað Með lögum getur það verið lykilatriði, sérstaklega þegar titillinn hefur ákveðna birtingarferli eða þegar samskipti eru við önnur lög í kerfinu.
Dota 2 á Linux: Lykkjukennt og óstöðugleiki sem virðist vera tilviljunarkenndur
Annað mikilvægt mál er það sem Dota 2 keyrir innbyggt á LinuxTilkynnt mynstur var undarlegt: VK_ERROR_DEVICE_LOST villan birtist bæði í rauntíma leikjum og þegar horft var á endursýningar, stundum einfaldlega með því að að horfa á bardaga eða jafnvel skrifa í spjallinuÍ stað þess að loka alveg, hélt leikurinn áfram að vera í Óendanleg lykkja og þurfti að „drepa“ hann handvirkt.
Í þeirri tilteknu reynslu var ekkert framlag lagt til Engin samsvörunarkenni eða skjámyndir („Engin svörun“ var gefin til kynna í báðum reitum), sem gerir það erfitt að tengja nákvæmlega saman augnablik. Engu að síður bendir einkennið (frjós án algjörs hruns) til óendurheimtanlegt ástand tækis frá sjónarhóli forritsins. Í Linux getur þetta mynstur tengst reklinum, kynningarröðinni og tímastjórnun, eða einhver samskipti við tónskáld/myndrænt umhverfi.
Í slíkum aðstæðum er ráðlegt að endurskoða kerfisskrár (dmesg, journalctl), athugaðu útgáfur af Mesa/NVIDIA eftir skjákortinu og slökktu á lögum þriðja aðila. Þetta eru ráð sem, þótt þau séu almenn, verða viðeigandi í Vulkan titill sem krefst mikillar birtingar eins og Dota 2.
Óstöðugar skjámyndir með RenderDoc og VK_EXT_shader_object
Notkun teikningartækja bætir við eigin breytum. Það hefur komið í ljós Óstöðugleiki með RenderDoc þegar forrit eru tekin upp sem nota viðbótina VK_EXT_shader_objectþ.m.t. Endurheimt hrun bílstjóra, frýs forrita og villur vegna týndra tækjaÞað kemur ekki á óvart: við erum að tala um nýlega viðbyggingu og í eðli sínu viðkvæma stöðu (að græða upptökulag í háþróaða leiðslu).
Til að endurtaka vandamálið á samræmdan hátt, dæmið "skuggahlutir» úr geymslunni Sascha Willems/VulkanMálsmeðferðin var: Keyrðu shaderobjects.exe tvíundarskrána undir RenderDoc, taktu upp ramma og veldu annan vkQueueSubmit() atburðinn.. Á því augnabliki, villuskýrsluglugginn birtist tólsins.
Auk þess, til að draga úr ruglingsþáttum, var eftirfarandi fjarlægt fyrir myndatöku: .bin skrár sem dæmið býr til (skyggnisskyndiminni) og villan kom samt upp. Sérstakt umhverfi var: RenderDoc_2024_07_02_0406d376_64, Windows 10 (10.0.19045.4529), Vulkan 1.3.275, GeForce GTX 1080 y ökumaður 566.12Þessi gögn eru mjög gagnleg ef þú ert að tilkynna eða bera saman svipuð vandamál.
Leikur og Steam hrynur, og jafnvel blár skjár
Einnig var greint frá sérstaklega pirrandi atburðarás: Leikurinn hrundi oft, stundum líka á Steam, og jafnvel birtist BSOD. (blár skjár). Einfaldar aðgerðir eins og Uppfæra rekla, stilla grafíkgæði, þvinga fram fullskjástillingu, slökkva á yfirlögnum y takmarka FPS við 60, en lokanir leiksins héldu áfram á nokkurra mínútna fresti.
Þegar bláir skjáir eru viðriðnir, þá er grunur um óstöðugleiki á kjarna-/reklustigi eða í vélbúnaðinum sjálfumÞó að VK_ERROR_DEVICE_LOST sé Vulkan-villa, ef allt kerfið er óstöðugt, er ráðlegt að bæta við með minnispróf, diskapróf og hitaeftirlit til að útiloka að skjákortið eða aflgjafinn sé kominn á hámarksgildi.
Mögulegar orsakir: tæknilegar og daglegar

Þó að hvert tilfelli sé einstakt eru nokkrar algengar orsakir sem vert er að íhuga. Hér er kort til að hjálpa þér að rata. Algengasta í VK_ERROR_DEVICE_LOST:
- Óstöðugir eða afturförðuðu grafíkdrifNýlegar útgáfur geta lagað suma titla og bilað aðra; hið gagnstæða gerist líka.
- Nýjar eða breyttar viðbætur: sem
VK_EXT_shader_object, sem er enn að þroskast og getur afhjúpað brúnatilvik með handtökutólum. - Tímamörk og TDR (Windows): Ef verk á skjákortinu tekur langan tíma gæti kerfið endurræst rekilinn og skilið rökrétta tækið eftir „týnt“.
- Yfirlagnir og lögFPS-innspýtingar, spjall, streymi eða rakningartæki geta truflað skiptikeðjuna eða leiðsluna.
- Sérstakar stillingar á skiptikeðjumÁkveðnar kynningar-, tímasetningar- eða samsetningarstillingar geta valdið hrunum á tilteknum vélbúnaði/reklarum.
- Skyndiminni skuggans skemmd eða ekki samstillt: að hreinsa skyndiminnið (eins og .bin skrárnar í dæminu) getur fjarlægt lúmsk ósamræmi.
- Vélbúnaður á brúninniHitastig, spennubylgjur eða lítilsháttar ofklukka/undirspenna geta valdið því að villan birtist öðru hvoru.
Hvernig á að greina án þess að missa stjórn á sjálfum sér
Áður en þú breytir tuttugu hlutum í einu er betra að fylgja fyrirmælum. Markmiðið er að einangra þann þátt sem veldur VK_ERROR_DEVICE_LOST Í þínu tilviki, að reiða sig á merki sem þú getur mælt eða endurtekið hlutlægt.
- Endurtaka villuna í stuttri röð: ákveðinn bardagi í Dota 2, valmynd í Detroit, eða sama handtökuskref í RenderDoc (t.d. að velja annað vkQueueSubmit()).
- Athugið stýrikerfið, bílstjórann og GPU útgáfurnar.Gögn eins og Windows 10 útgáfa 19045.4529, GeForce GTX 1080 og driver 566.12 hjálpa til við að bera saman skýrslur.
- Slökkva á yfirlögnum og lögum: Steam, GeForce Experience, Discord, o.s.frv. Athugaðu hvort hegðunin breytist án þeirra.
- Skilar sér á „hlutabréfa“ gildiEngin ofklukkun á GPU/CPU/RAM, með sjálfgefnum aflmörkum og engri árásargjarnri undirspennu.
- Endurskapar undir rakningu Aðeins ef nauðsyn krefur: Ef RenderDoc eða svipuð verkfæri gera vandamálið verra skaltu reyna án þess að taka upp fyrst.
- Hreinsa skyndiminnið fyrir skuggabæði leikurinn og ökumaðurinn, ef við á. .bin skrárnar í dæminu styðja þetta.
- Athugaðu kerfisskrárÍ Linux, dmesg og journalctl; í Windows, Event Viewer og minidumps ef BSOD er til staðar.
Ef þú rekst á skref í ferlinu sem veldur alltaf villunni (eins og gerðist með seinni vkQueueSubmit í dæminu um skuggahlutina), þá ertu nú þegar búinn að fá hálfa greiningu: reyndu breyta aðeins einni breytu (rekill, stilling fyrir skiptikeðju, kynningarstilling) til að sjá hvort kveikjan hverfur.
Hagnýtar lausnir og aðlaganir sem hafa virkað

Það er enginn alhliða töfrasproti til, en það eru til aðgerðir með góðri velgengniHér að neðan er röð aðgerða, raðað eftir minnstum íhlutunartilfellum.
Windows (NVIDIA/AMD) og Vulkan leikir
- NVIDIA-sértæk stilling fyrir Detroit: Become HumanÍ Stjórnborði > Stjórna 3D stillingum > Forritstillingar > veldu keyrsluskrá leiksins, finndu forstillinguna Vulkan/OpenGL og stilltu hana á „Kjósa lög á DXGI Swapchain.“ Þetta hefur útrýmt endurteknum hrunum með RTX 3080.
- Takmarka FPS og samstillinguAð viðhalda 60 FPS og eingöngu fullum skjá getur stöðugað ákveðna rekla, þó það sé ekki alltaf nóg eitt og sér.
- Slökkva á yfirlögnum: Steam, NVIDIA, Discord, o.s.frv. Ef þú tekur eftir framförum skaltu endurræsa þau eitt af öðru til að bera kennsl á sökudólginn.
- „Þekktur góður“ ökumaðurEf villan birtist eftir uppfærslu skaltu prófa eldri stöðuga útgáfu; ef þú hefur ekki uppfært í smá tíma skaltu setja upp nýjustu WHQL útgáfuna.
Linux og innfæddir titlar með Vulkan (t.d. Dota 2)
- Athugaðu grafíkstaflann: : Mesa/NVIDIA útgáfa sem hentar kjarnanum þínum og umhverfi. Útgáfubreyting gæti lagað óendanlega lykkjuna.
- Athugaðu Composer og WindowsPrófið með og án compositor, allan skjáinn á móti rammalausum glugga og stillið kynningarstillinguna ef leikurinn leyfir það.
- Skrár í smáatriðumFinnið tímann sem hrunið átti sér stað og skoðið dmesg/journalctl á þeim tíma. Villa eða endurstilling í skjákortinu verður skráð.
Handtaka- og villuleitartól (RenderDoc)
- Forðastu vandkvæða skrefEf val á tilteknum atburði (eins og annarri vkQueueSubmit()) veldur hruninu, takmarkaðu þá greininguna við skrefin á undan eða eftir hann.
- Minnka ruglingHreinsið skyndiminnið fyrir skugga (eins og .bin í dæminu) áður en þið takið upp og notið „hreinar“ byggingar af verkefninu.
- Uppfæra eða breyta útgáfubæði RenderDoc og rekla/skjákort; með nýjum viðbótum gæti nýrri útgáfa innihaldið lykilleiðréttingar.
Þegar Steam hrynur einnig eða BSOD birtist
- Sameinað kerfiKeyrir minnispróf, fylgist með hitastigi og athugar aflgjafa. VK_ERROR_DEVICE_LOST gæti verið sýnilegt einkenni um dýpra vandamál.
- Kjarnastigs reklarSettu GPU-reklana upp aftur á hreinan hátt. Ef BSOD-skilaboðin halda áfram skaltu safna smádumpum til að bera kennsl á nákvæma eininguna.
Smáatriði sem skipta máli
Það eru að því er virðist minniháttar breytingar sem í reynd eru breyta stöðugleikanum algjörlega af tilteknum titli. Stillingin „Prefer layers in DXGI Swapchain“ fyrir Detroit: Become Human er skýrt dæmi. Þessar tegundir af valkostum stjórna því hvernig lög, skiptikeðja og drifbúnaður hafa samskiptiog getur komist hjá tiltekinni villu.
Önnur gagnleg smáatriði er hreinsa skyndiminnið á skugganum áður en stórar breytingar eru gerðar eða skjámyndir greindar, eins og var gert með .bin skrárnar í dæminu um skuggahlutinn. Þetta dregur úr ósamræmi og gömul ástand sem dragast á milli funda og skýjagreininga.
Loksins, þegar leikur Það lokast ekki heldur helst í hringrás Eftir villuna er það vísbending um að rökfræðilega tækið sé orðið ónothæft án þess að forritið stjórni því að fullu. Í slíkum tilfellum er það þess virði að prófa það. aðrar framkvæmdarleiðir (annað bakendi ef það er til staðar, breyta skjástillingu eða slökkva á ítarlegum eiginleikum eins og ákveðnum skuggum eða áhrifum) til að forðast ástandið sem veldur hruninu.
Úrræði til að skilja Vulkan (og kemba betur)
Að læra meira um Vulkan hjálpar þér að túlka villur eins og VK_ERROR_DEVICE_LOST án þess að þurfa að taka áhættuna. Einn meðlimur samfélagsins mælti með opinberum Khronos úrræðum með byrjendavænum aðferðum og sérsniðnum listum. Þau eru góður grunnur hvort sem þú ert að forrita eða vilt bara skilja hvað er í gangi.
- Leiðarvísir fyrir byrjendur í Vulkan (Khronos): Safn af inngangsgögnum til að hjálpa þér að byrja og skilja hugmyndafræði API.
- Khronos Vulkan úrræði á GitHub: skráningin gefur til kynna að úrræðin hafi verið færð til vulkan.org, þar sem þú finnur uppfærð skjöl.
Ef þú veist ekki hvar þú átt að byrja, Þessar leiðbeiningar munu spara þér tilraunir og mistök óreiðukennt og mun gefa þér viðmið til að takast á við vandamál eins og tækjatap, tímamörk, samstillingarvandamál og fleira.
Merki samfélagsins: samskipti og athugasemdir
Auk ítarlegra skýrslna voru þar Létt samskipti eins og „Líkar“ í athugasemd og samtölum þar sem þau voru spurð námsefniÞótt þetta virðist vera smáatriði, þá endurspegla þau að efnið er lifandi og sameiginlegtog að margar lausnir spretta upp úr samantekt reynslu.
Fljótleg gátlisti fyrir málið þitt
Ef þetta er að gerast hjá þér núna, prófaðu þá þetta. stuttur listi yfir ávísanir, innblásið af fyrri málum:
- Uppfæra eða afturkalla bílstjóraEf þú uppfærðir rétt í þessu og það byrjaði að bila, prófaðu þá fyrri stöðugu útgáfuna; ef þú hefur ekki uppfært í marga mánuði, settu þá upp nýjustu WHQL útgáfuna.
- Slökkva á yfirlögnum: Steam, Discord, GeForce Experience, o.s.frv. og sjáðu hvort tíðni villunnar breytist.
- NVIDIA stillingar fyrir hvern leikÍ Detroit: Become Human, þá leysti það vandamál með að stilla Vulkan/OpenGL forstillinguna á „Prefer Layers in DXGI Swapchain“.
- Skjástilling og FPSÞvinga fram einkarétt á öllum skjánum og takmarka FPS hóflega til að stöðuga flutningsraðir.
- Hreinsa skyndiminnið fyrir skuggaEyðir skyndiminniskrám leiksins og, ef við á, bílstjóranum.
- Kerfisskrárdmesg/journalctl í Linux eða Event Viewer í Windows til að greina endurstillingar eða villur á reklum.
Hvenær á að tilkynna og hvað á að taka með
Ef vandamálið heldur áfram þrátt fyrir allt, tilkynntu það til Nákvæmar upplýsingar Flýttu fyrir hjálp. Forðastu „Engin svör“ í lykilreitum: nefndu Leikjaauðkenni og tímastimpill Ef þetta er leikur með endurteknum spilunum, og hengdu við skjáskot eða skrár þegar það er mögulegt.
Ekki gleyma að bæta við heilt tæknilegt umhverfiÚtgáfa stýrikerfis (t.d. Windows 10 útgáfa 19045.4529), Nákvæm GPU (GeForce GTX 1080, RTX 3080), útgáfa af rekil (eins og 566.12) og hvort þú notar verkfæri eins og RenderDoc, steypta útgáfan þess (t.d. RenderDoc_2024_07_02_0406d376_64). Það er gull að endurtaka þessi gögn.
Algengar spurningar
Af hverju hrynur leikurinn ekki og byrjar bara í lykkju eftir villuna? Vegna þess að forritið fer í ástand þar sem rökfræðibúnaðurinn tapast en úttaksrökfræðin er ekki að fullu framkvæmd. Í reynd, þú verður að þvinga fram lokunina og athuga hvaða atburður eða stilling kveikir á því ástandi.
Hjálpar það að hreinsa skyndiminnið í shader-inu? Í nokkrum tilfellum já, sérstaklega þegar það eru til staðar ósamræmi milli smíða og skyndiminnis (eins og .bin skrárnar í dæminu um skuggahluti). Þetta er fljótleg leið til að losna við skemmdar stöður.
Ætti ég að taka upp myndband með RenderDoc ef ég grunar bílstjórann? Handtaka getur hjálpa til við að skilja leiðsluna, en það getur einnig valdið óstöðugleika ef viðbótin eða rekillinn er grænn. Prófaðu fyrst án þess að taka upp, og ef þú tekur upp, gerðu það þá með útgáfum af tólinu. sem þú veist stöðugt fyrir þínu máli.
Geta yfirlagnir valdið VK_ERROR_DEVICE_LOST? Já, stundum Innspýtt lög trufla skiptikeðjuna eða með samstillingu. Að slökkva á þeim er ein af fyrstu prófunum sem þarf að framkvæma.
Hvað ef ég sé líka BSOD í Windows? Það bendir til vandamál á kjarna-/reklum- eða vélbúnaðarstigiAuk Vulkan-skrefanna framkvæmir það minnispróf, athugar hitastig, skoðar aflgjafann og greinir minidumps til að finna bilaða eininguna.
Þú ert með skýra leiðarvísi: Greinið mynstrið, einangrið kveikjuna og beitið leiðréttingum með sannaðri virkni.Frá forstillingu breytingarinnar í NVIDIA stjórnborðinu sem vistaði leiki í Detroit: Become Human á RTX 3080, til leiðbeininga um RenderDoc handtöku og eftirlit með skrám á Linux fyrir Dota 2, eru til raunhæfar lausnir sem draga verulega úr hrunum af gerðinni VK_ERROR_DEVICE_LOST. Ef þú treystir einnig á Khronos úrræði til að skilja grunn Vulkan, hver tilraun verður nákvæmari og þú munt sóa minni tíma í blindprófanir.
Hefur brennandi áhuga á tækni frá því hann var lítill. Ég elska að vera uppfærður í geiranum og umfram allt að miðla honum. Þess vegna hef ég lagt mig fram við samskipti á tækni- og tölvuleikjavefsíðum í mörg ár. Þú getur fundið mig að skrifa um Android, Windows, MacOS, iOS, Nintendo eða annað tengt efni sem mér dettur í hug.