- VK_ERROR_DEVICE_LOST kawaida humaanisha uwekaji upya wa kiendeshi au kushindwa kwa mnyororo.
- Marekebisho ya kila mchezo (kama vile DXGI Swapchain) yanaweza kuleta mada.
- Viendelezi vipya (k.m., vipengee vya shader) huongeza hatari ya kunasa.
- Matoleo sahihi ya OS/kiendeshi na kumbukumbu ni ufunguo wa kuzaliana na kurekebisha.
Ikiwa umekutana na ujumbe VK_ERROR_DEVICE_LOST Unapocheza michezo au kuunda programu na Vulkan, hauko peke yako: ni suala la kawaida ambalo linaweza kujidhihirisha kama hitilafu, kuzimwa bila kutarajiwa, au hata misururu ambapo programu haitafungwa kikamilifu. Ingawa inatisha, kwa kawaida ina maelezo na, muhimu zaidi, njia za kupunguza au kutatua.
Katika mwongozo huu utapata Kesi za maisha halisi kwenye Windows na Linux, na michezo na zana, vidokezo vya kutambua chanzo, mipangilio ambayo imesaidia watumiaji wengine (kama vile mpangilio maalum katika Jopo la Kudhibiti la NVIDIA la Detroit: Kuwa Binadamu na RTX 3080), na Nyenzo za kuaminika ili kuelewa vyema VulkanWazo ni kwamba huna kupoteza muda kuruka kutoka jukwaa hadi jukwaa na kuwa, kwa mtazamo, ufumbuzi ambao kweli una uwezekano. Hebu tujifunze kila kitu kuhusu kosa VK_ERROR_DEVICE_LOST.
VK_ERROR_DEVICE_LOST inamaanisha nini na kwa nini inaonekana?
Katika Vulkan, kosa la VK_ERROR_DEVICE_LOST linaonyesha hivyo kifaa cha mantiki kimeacha kufanya kazi: kiendeshi cha GPU kimewasha upya, kulikuwa na hanging ya dereva, TDR ilitokea kwa sababu ya kizuizi au muda wa foleni umekwisha, au programu ilituma kitu ambacho maunzi/dereva haikuweza kushughulikia. Haiishii kwa ajali kila wakati; wakati mwingine, kama tutakavyoona, programu inakwama kwenye kitanzi na inabidi ifungwe kwa nguvu.
Ingawa muundo hutofautiana kulingana na vifaa na programu, vichochezi vya kawaida ni Viendeshi visivyo imara, viendelezi vipya sana, tabaka/uwekeleaji, mipaka ya muda ya mfumo na wakati mwingine, mchanganyiko wa bahati mbaya wa mipangilio ya picha. Kujua baadhi ya matukio halisi husaidia kuzaliana na kushughulikia tatizo.
Kesi za kweli: nini kilifanyika na kilichofanyika

Detroit: Kuwa Binadamu kwenye Windows, RTX 3080, na marekebisho madhubuti katika NVIDIA
Mtumiaji aliye na a GeForce RTX 3080 mara kwa mara ilikuwa ikipata ajali za mchezo na VK_ERROR_DEVICE_LOST licha ya kufanya kawaida: Sasisha viendeshaji, hali ya uoanifu wa majaribio na chaguo za kukaguaSuluhisho ambalo lilinifanyia kazi ilikuwa kwenda kwa Jopo la Kudhibiti la NVIDIA na kubadilisha mapendeleo maalum yanayohusiana na Vulkan/OpenGL katika kiwango cha programu.
Njia, iliyoundwa kwa njia nyingine, ilikuwa: Jopo la Kudhibiti la NVIDIA > Dhibiti Mipangilio ya 3D > Mipangilio ya Programu > chagua Detroit: Kuwa Binadamu. Katika chaguo la njia ya kuweka awali ya Vulkan/OpenGL, mpangilio ambao ulifanya tofauti ulikuwa kuiweka "Pendelea kwa tabaka katika DXGI Swapchain«. Kwa mabadiliko hayo, kufungwa mara kwa mara kutoweka inayohusishwa na VK_ERROR_DEVICE_LOST.
Mfano huu unaonyesha kwamba wakati mwingine, marekebisho ya utangamano au jinsi swapchain inasimamiwa na tabaka inaweza kuwa ufunguo, haswa wakati kichwa kina bomba fulani la kutoa au wakati kuna mwingiliano na tabaka zingine kwenye mfumo.
Dota 2 kwenye Linux: Kuzunguka na Kuonekana Kutokuwepo Uthabiti
Kesi nyingine muhimu ni ile ya Dota 2 inayoendesha asili kwenye LinuxMchoro ulioripotiwa ulikuwa wa kutatanisha: hitilafu ya VK_ERROR_DEVICE_LOST ingejitokeza wakati wa mechi za wakati halisi na wakati wa kutazama marudio, wakati mwingine kwa urahisi. kutazama pambano au hata kuandika kwenye gumzo. Badala ya kufungwa kabisa, mchezo ulikaa katika a Kitanzi kisicho na mwisho na ilibidi "kuuawa" kwa mikono.
Katika uzoefu huo maalum hakuna michango iliyotolewa Hakuna Kitambulisho Kinacholingana au picha za skrini ("Hakuna jibu" ilionyeshwa katika nyanja zote mbili), ambayo inafanya kuwa vigumu kuoanisha matukio halisi. Hata hivyo, dalili (kufungia bila ajali kamili) inaelekeza hali ya kifaa kisichoweza kurejeshwa kutoka kwa mtazamo wa maombi. Katika Linux, muundo huu unaweza kuhusishwa na kiendeshi, foleni ya uwasilishaji na usimamizi wa saa, au mwingiliano fulani wa mazingira wa mtunzi/mchoro.
Katika hali kama hizi inashauriwa kukagua kumbukumbu za mfumo (dmesg, journalctl), angalia matoleo ya Mesa/NVIDIA kulingana na GPU, na uzime tabaka za wahusika wengine. Hivi ni vidokezo ambavyo, ingawa ni vya kawaida, huwa muhimu katika jina la uwasilishaji la Vulkan kama Dota 2.
Picha za skrini zisizo thabiti na RenderDoc na VK_EXT_shader_object
Matumizi ya zana za kupanga njama huongeza seti yake ya vigezo. Imezingatiwa Kutokuwa na utulivu na RenderDoc wakati wa kunasa programu zinazotumia kiendelezi VK_EXT_shader_objectikijumuisha Mivurugiko ya viendeshaji iliyorejeshwa, programu kusimamishwa na kupotea kwa hitilafu za kifaa. Haishangazi: tunazungumza juu ya ugani wa hivi karibuni na hali dhaifu ya asili (kuunganisha safu ya kukamata kwenye bomba la juu).
Kuzalisha tatizo mara kwa mara, mfano "vitu vya kivuli»kutoka kwenye hazina ya Sascha Willems/VulkanUtaratibu ulikuwa: Endesha shaderobjects.exe binary chini ya RenderDoc, kamata fremu na uchague tukio la pili la vkQueueSubmit()Wakati huo, kidirisha cha ripoti ya makosa kilionekana ya chombo.
Kwa kuongezea, ili kupunguza mambo ya kutatanisha, yafuatayo yaliondolewa kabla ya kukamata: faili za .bin kwamba mfano hutoa (cache za shader), na kosa bado lilitokea. Mazingira maalum yalikuwa: RenderDoc_2024_07_02_0406d376_64, Windows 10 (10.0.19045.4529), Vulkan 1.3.275, GeForce GTX 1080 y dereva 566.12Data hii ni muhimu sana ikiwa unaripoti au kulinganisha masuala sawa.
Mchezo na Steam huacha kufanya kazi, na hata skrini za bluu
Hali ya kuudhi haswa pia iliripotiwa: Mchezo ungeanguka mara kwa mara, wakati mwingine Steam pia, na hata BSOD ingeonekana. (skrini ya bluu). Vitendo vya msingi kama vile Sasisha viendeshaji, rekebisha ubora wa picha, lazimisha hali ya skrini nzima, zima viwekeleo y punguza FPS hadi 60, lakini kufungwa kuliendelea kila dakika chache za mchezo.
Wakati skrini za bluu zinahusika katika equation, mashaka ya kutokuwa na utulivu katika kiwango cha kernel/kiendeshaji au kwenye maunzi yenyewe. Ingawa VK_ERROR_DEVICE_LOST ni mdudu wa Vulkan, ikiwa mfumo mzima umeyumba, inashauriwa kuongeza na vipimo vya kumbukumbu, ukaguzi wa diski, na ufuatiliaji wa joto ili kudhibiti kuwa GPU au usambazaji wake wa nishati uko kikomo.
Sababu zinazowezekana: kiufundi na kila siku

Ingawa kila kesi ni ya kipekee, kuna idadi ya sababu za kawaida ambazo zinafaa kuzingatia. Hii hapa ramani ya kukusaidia kusogeza. Maarufu zaidi katika VK_ERROR_DEVICE_LOST:
- Viendeshi vya michoro visivyo imara au vilivyorudishwa nyuma: Matoleo ya hivi majuzi yanaweza kurekebisha baadhi ya mada na kuvunja mengine; kinyume pia hutokea.
- Viendelezi vipya au vinavyobadilisha: kama
VK_EXT_shader_object, ambayo bado inapevuka na inaweza kufichua matukio makali kwa zana za kunasa. - Muda umeisha na TDR (Windows): Ikiwa kazi kwenye GPU itadumu milele, mfumo unaweza kuwasha tena kiendeshi na kuacha kifaa cha kimantiki "kimepotea."
- Vifuniko na tabaka: Vichungi vya ramprogrammen, gumzo, utiririshaji, au vifuatiliaji vinaweza kuingilia kati mnyororo wa kubadilishana au bomba.
- Mipangilio maalum ya swapchain: Baadhi ya hali za uwasilishaji, muda au utunzi zinaweza kusababisha kuacha kufanya kazi kwa maunzi/viendeshi mahususi.
- Akiba ya Shader imeharibika au nje ya usawazishaji: kufuta akiba (kama vile faili za .bin kwenye mfano) kunaweza kuondoa tofauti ndogo ndogo.
- Vifaa katika kikomo chake: Viwango vya joto, kuongezeka kwa nguvu au overclocking kidogo / undervoltage inaweza kusababisha hitilafu kuonekana mara kwa mara.
Jinsi ya kugundua bila kupoteza baridi yako
Kabla ya kubadilisha vitu ishirini mara moja, ni bora kufuata agizo. Lengo ni kutenga sababu inayosababisha VK_ERROR_DEVICE_LOST Katika hali yako mahususi, kutegemea ishara ambazo unaweza kuzipima au kuzizalisha kwa ukamilifu.
- Kuzaa mdudu katika mlolongo mfupi: mapambano maalum katika Dota 2, orodha katika Detroit, au hatua sawa ya kukamata katika RenderDoc (kwa mfano, kuchagua vkQueueSubmit () ya pili).
- Kumbuka matoleo ya OS, kiendeshi na GPU.: Data kama vile Windows 10 kujenga 19045.4529, GeForce GTX 1080, na dereva 566.12 husaidia kulinganisha ripoti.
- Zima viwekeleo na tabaka: Steam, Uzoefu wa GeForce, Discord, n.k. Angalia ikiwa tabia itabadilika bila wao.
- Hurejesha kwa thamani za "hisa".: Hakuna uwekaji wa ziada wa GPU/CPU/RAM, iliyo na vikomo chaguomsingi vya nishati na hakuna utiifu mkali.
- Huunda upya chini ya ufuatiliaji Ikihitajika tu: Ikiwa RenderDoc au zana kama hizo zitazidisha tatizo, jaribu bila kunasa kwanza.
- Futa akiba ya shader: mchezo na dereva, ikiwa inatumika. Faili za .bin katika mfano huunga mkono hii.
- Angalia kumbukumbu za mfumo: Kwenye Linux, dmesg na journalctl; kwenye Windows, Kitazamaji cha Tukio na dumps ndogo ikiwa kuna BSOD.
Ikiwa katika mchakato huo unakutana na hatua hiyo daima husababisha makosa (kama ilivyotokea na vkQueueSubmit ya pili katika mfano wa vitu vya shader), tayari una utambuzi wa nusu: jaribu badilisha kigezo kimoja tu (dereva, mpangilio wa kubadilishana, hali ya uwasilishaji) ili kuona ikiwa kichochezi kitatoweka.
Ufumbuzi wa vitendo na marekebisho ambayo yamefanya kazi

Hakuna fimbo ya uchawi ya ulimwengu wote, lakini kuna vitendo vilivyo na kiwango kizuri cha mafanikioIfuatayo ni msururu wa hatua zilizoagizwa kutoka kwa uchache hadi nyingi zinazoingilia.
Windows (NVIDIA/AMD) na michezo ya Vulkan
- Urekebishaji mahususi wa NVIDIA kwa Detroit: Kuwa Binadamu: Katika Paneli Kidhibiti > Dhibiti Mipangilio ya 3D > Mipangilio ya Programu > chagua mchezo unaotekelezeka, tafuta uwekaji awali wa Vulkan/OpenGL, na uuweke kuwa "Pendelea Tabaka kwenye DXGI Swapchain." Hii imeondoa ajali zinazorudiwa na RTX 3080.
- Punguza FPS na ulandanishi: Kudumisha FPS 60 na skrini nzima ya kipekee kunaweza kuleta uthabiti wa viendeshaji fulani, ingawa haitoshi peke yake kila wakati.
- Zima viwekeleo: Steam, NVIDIA, Discord, n.k. Ukiona uboreshaji, zilete upya moja baada ya nyingine ili kutambua mhalifu.
- "Anajulikana vizuri" derevaIkiwa kosa linaonekana baada ya uppdatering, jaribu toleo la awali la imara; ikiwa hujasasisha kwa muda, sakinisha toleo jipya zaidi la WHQL.
Linux na majina asilia yenye Vulkan (k.m. Dota 2)
- Angalia safu ya michoro: : Toleo la Mesa/NVIDIA linafaa kwa kernel na mazingira yako. Bonde la toleo linaweza kurekebisha kitanzi kisicho na mwisho.
- Angalia mtunzi na madirisha: Jaribu kwa kutumia na bila mtunzi, skrini nzima dhidi ya dirisha lisilo na mpaka, na urekebishe hali ya uwasilishaji ikiwa mchezo unaruhusu.
- Kumbukumbu kwa undani: Tambua saa ya ajali na uangalie dmesg/journalctl wakati huo. Hitilafu ya GPU au uwekaji upya utawekwa.
Zana za kunasa na Utatuzi (RenderDoc)
- Epuka hatua zenye matatizo: Ukiteua tukio mahususi (kama vile vkQueueSubmit() ya pili) kutasababisha kuacha kufanya kazi, punguza uchanganuzi kuwa hatua za kabla au baada yake.
- Kupunguza kuchanganyikiwa: Futa akiba za shader (kama zile za .bin kwenye mfano) kabla ya kunasa na kutumia miundo "safi" ya mradi.
- Sasisha au ubadilishe toleo: RenderDoc na dereva/GPU; na viendelezi vipya, muundo mpya unaweza kuwa na marekebisho muhimu.
Wakati Steam pia inaanguka au BSOD inaonekana
- Uadilifu wa mfumo: Hufanya majaribio ya kumbukumbu, hufuatilia halijoto, na hukagua vifaa vya nishati. VK_ERROR_DEVICE_LOST inaweza kuwa dalili inayoonekana ya tatizo kubwa zaidi.
- Madereva ya kiwango cha Kernel: Sakinisha upya kiendesha GPU kwa usafi. Ikiwa BSOD itaendelea, kusanya utupaji mdogo ili kutambua moduli halisi.
Maelezo madogo ambayo hufanya tofauti
Kuna marekebisho yanayoonekana kuwa madogo ambayo, kwa vitendo, kubadilisha kabisa utulivu ya jina maalum. Mpangilio wa "Pendelea tabaka katika DXGI Swapchain" kwa Detroit: Kuwa Binadamu ni mfano wazi. Aina hizi za chaguzi rekebisha jinsi tabaka, swapchain na kiendeshi huingiliana, na inaweza kupita mdudu fulani.
Maelezo mengine muhimu ni kusafisha kashe ya shader kabla ya kufanya mabadiliko makubwa au kuchanganua picha za skrini, kama ilivyofanywa na faili za .bin katika mfano wa kitu cha shader. Hii inapunguza kutofautiana na majimbo ya zamani ambayo huendelea kati ya vipindi na utambuzi wa wingu.
Hatimaye, wakati mchezo Haifungi lakini inakaa kwenye kitanzi Baada ya hitilafu, ni kidokezo kwamba kifaa cha mantiki hakitumiki bila programu kukisimamia kikamilifu. Katika kesi hiyo, ni thamani ya kupima. njia zingine za utekelezaji (mazingira tofauti kama yapo, badilisha hali ya skrini, au uzime vipengele vya kina kama vile vivuli au madoido fulani) ili kuepuka hali inayosababisha ajali.
Nyenzo za kuelewa Vulkan (na utatuzi bora zaidi)
Kujifunza zaidi kuhusu Vulkan hukusaidia kutafsiri makosa kama vile VK_ERROR_DEVICE_LOST bila kuruka kipofu. Mwanajamii mmoja alipendekeza nyenzo rasmi za Khronos zilizo na mbinu zinazofaa kwa wanaoanza na orodha zilizoratibiwa. Wao ni msingi mzuri kama wewe ni programu au unataka tu kuelewa nini kinaendelea.
- Mwongozo wa Wanaoanza kwa Vulkan (Khronos): Mkusanyiko wa nyenzo za utangulizi ili kukusaidia kuanza na kuelewa falsafa ya API.
- Rasilimali za Khronos Vulkan kwenye GitHub: tangazo linaonyesha kuwa rasilimali zimehamishwa hadi vulkan.org, ambapo utapata nyaraka zilizosasishwa.
Kama hujui pa kuanzia, Miongozo hii itakuokoa kujaribu na makosa ni fujo na itakupa vigezo vya kushughulikia masuala kama vile kupoteza kifaa, kuisha kwa muda, matatizo ya usawazishaji na zaidi.
Ishara za jumuiya: mwingiliano na maoni
Mbali na ripoti za kina, kulikuwa na mwingiliano mwepesi kama "Kama" katika maoni, na mazungumzo ambapo waliulizwa rasilimali za kujifunza. Ingawa yanaonekana kama maelezo madogo, yanaonyesha kuwa mada ni hai na imeshirikiwa, na kwamba suluhu nyingi huzaliwa kutokana na jumla ya uzoefu.
Orodha ya ukaguzi wa haraka kwa kesi yako
Ikiwa hii inakutokea sasa hivi, jaribu hii. orodha fupi ya hundi, iliyohamasishwa na kesi zilizopita:
- Sasisha au rudisha kiendesha nyumaIkiwa umesasisha tu na ilianza kushindwa, jaribu toleo la awali la imara; ikiwa hujasasisha kwa miezi kadhaa, sakinisha WHQL ya hivi punde.
- Zima viwekeleo: Steam, Discord, Uzoefu wa GeForce, nk na uone ikiwa hitilafu inabadilisha mzunguko.
- Urekebishaji wa NVIDIA kwa kila mchezo: Katika Detroit: Kuwa Binadamu, kuweka mipangilio ya awali ya Vulkan/OpenGL kuwa "Pendelea Tabaka katika DXGI Swapchain" ilitatua matukio ya kuacha kufanya kazi.
- Hali ya skrini na FPS: Lazimisha skrini nzima ya kipekee na uweke kizuizi kwa FPS kwa kiasi ili kuleta utulivu wa foleni za uwasilishaji.
- Futa akiba za shader: Hufuta faili za kache za mchezo na, ikiwezekana, kiendeshi.
- Kumbukumbu za mfumo: dmesg/journalctl kwenye Linux au Kitazamaji Tukio kwenye Windows ili kugundua uwekaji upya wa viendeshaji au hitilafu.
Wakati wa kuripoti na nini cha kujumuisha
Tatizo likiendelea licha ya kila kitu, ripoti kwa taarifa sahihi Msaada wa kuongeza kasi. Epuka "Hakuna Majibu" katika sehemu muhimu: jumuisha Kitambulisho cha mchezo na muhuri wa muda Ikiwa ni mchezo wenye marudio, na ambatisha viwambo au kumbukumbu inapowezekana.
Usisahau kuongeza mazingira kamili ya kiufundi: Toleo la OS (k.m. Windows 10 jenga 19045.4529), GPU kamili (GeForce GTX 1080, RTX 3080), toleo la dereva (kama 566.12), na ikiwa unatumia zana kama RenderDoc, toleo lake halisi (k.m. RenderDoc_2024_07_02_0406d376_64). Data hii ni dhahabu ya kuzaliana.
Maswali Yanayoulizwa Mara kwa Mara
Kwa nini mchezo haushindwi na kuzunguka tu baada ya hitilafu? Kwa sababu programu inaingia katika hali ambapo kifaa cha kimantiki kinapotea, lakini mantiki ya pato haijatekelezwa kikamilifu. Kwa vitendo, unapaswa kulazimisha kufungwa na uangalie ni tukio gani au mpangilio gani unachochea hali hiyo.
Je, kufuta akiba ya shader husaidia? Katika matukio kadhaa ndiyo, hasa wakati kuna kutofautiana kati ya kujenga na cache (kama vile faili za .bin katika mfano wa vipengee vya shader). Hii ni njia ya haraka ya kutupa majimbo fisadi.
Ninapaswa kukamata na RenderDoc ikiwa ninashuku dereva? Unaweza kukamata kusaidia kuelewa bomba, lakini pia inaweza kuanzisha kutokuwa na utulivu ikiwa kiendelezi au kiendeshi ni kijani. Jaribu kwanza bila kunasa, na ukinasa, fanya hivyo na matoleo ya zana. kwamba unajua imara kwa kesi yako.
Je, viwekeleo vinaweza kusababisha VK_ERROR_DEVICE_LOST? Ndio, wakati mwingine tabaka hudungwa kuingilia kati na swapchain au kwa maingiliano. Kuzizima ni mojawapo ya majaribio ya kwanza kufanya.
Ikiwa pia nitaona BSOD kwenye Windows? Hiyo inapendekeza matatizo katika ngazi ya kernel/dereva au maunziMbali na hatua za Vulkan, hufanya majaribio ya kumbukumbu, hukagua halijoto, hukagua usambazaji wa umeme, na kuchanganua utupaji mdogo ili kupata moduli yenye hitilafu.
Una ramani ya barabara iliyo wazi: Tambua muundo, tenga kichochezi, na utumie marekebisho kwa ufanisi uliothibitishwaKutoka kwa mabadiliko yaliyowekwa mapema katika Paneli ya Kudhibiti ya NVIDIA ambayo ilihifadhi michezo katika Detroit: Kuwa Binadamu kwenye RTX 3080, hadi miongozo ya kunasa ya RenderDoc na kumbukumbu za ufuatiliaji kwenye Linux kwa Dota 2, kuna masuluhisho madhubuti ambayo hupunguza kwa kiasi kikubwa ajali za aina ya VK_ERROR_DEVICE_LOST. Ikiwa pia unategemea rasilimali za Khronos kuelewa msingi wa Vulkan, kila jaribio litakuwa sahihi zaidi na utapoteza muda kidogo kwenye vipimo vya upofu.
Alipenda sana teknolojia tangu akiwa mdogo. Ninapenda kusasishwa katika sekta hii na, zaidi ya yote, kuwasiliana nayo. Ndiyo maana nimejitolea kwa mawasiliano kwenye tovuti za teknolojia na michezo ya video kwa miaka mingi. Unaweza kunipata nikiandika kuhusu Android, Windows, MacOS, iOS, Nintendo au mada nyingine yoyote inayokuja akilini.
