- VK_ERROR_DEVICE_LOST bi gelemperî tê wateya vesazkirina ajokar an têkçûna zincîra swapê.
- Guherandinên li ser lîstikê (wek mînak DXGI Swapchain a qatkirî) dikarin sernavan stabîl bikin.
- Dirêjkirinên nû (mînak, tiştên shader) xetera girtinê zêde dikin.
- Guhertoyên rast ên OS/ajokar û tomarên wan ji bo dubarekirin û rastkirinê girîng in.
Eger tu rastî peyama VK_ERROR_DEVICE_LOST hatibî Dema ku hûn bi Vulkan re lîstikan dilîzin an sepanan sêwirînin, hûn ne bi tenê ne: ev pirsgirêkek hevpar e ku dikare xwe wekî têkçûn, girtina ji nişka ve, an jî çerxên ku bername bi tevahî nagire nîşan bide. Her çend tirsnak be jî, bi gelemperî ravekirinek û, ya herî girîng, rêbazên kêmkirina an çareserkirina wê heye.
Di vê rêbernameyê de hûn ê bibînin Dozên jiyana rast li ser Windows û Linux, bi lîstik û amûran, nîşanên ji bo teşhîskirina çavkaniyê, mîhengên ku alîkariya bikarhênerên din kirine (wek mînak mîhengek taybetî di Panela Kontrolê ya NVIDIA de ji bo Detroit: Become Human bi RTX 3080), û Çavkaniyên pêbawer ji bo têgihîştina çêtir a VulkanFikir ew e ku hûn demê xwe ji forumekê ber bi forumekê ve neçînin û bi awirekî, çareseriyên ku bi rastî jî îmkan hene, li ber çavan bigirin. Werin em her tiştî li ser fêr bibin. çewtiya VK_ERROR_DEVICE_LOST.
VK_ERROR_DEVICE_LOST tê çi wateyê û çima xuya dibe?
Di Vulkan de, xeletiya VK_ERROR_DEVICE_LOST nîşan dide ku cîhaza mentiqî dev ji xebatê berdaye: ajokara GPUyê ew ji nû ve daye destpêkirin, ajokar sekinî bû, TDR ji ber astengkirinê an jî dema rêzê qediya çêbû, an jî sepanê tiştek şand ku hardware/ajokar nikaribû bi rê ve bibe. Ew her tim bi têkçûnê bi dawî nabe; carinan, wekî ku em ê bibînin, sepan di çemberê de asê dibe û divê bi zorê were girtin.
Her çend şêwaz li gorî alav û nermalavê diguhere jî, tetikên asayî ev in Ajokarên nearam, dirêjkirinên pir nû, tebeqe/servekirin, sînorên demê yên pergalê û carinan, tenê kombînasyonên nexwestî yên mîhengên grafîkî. Zanîna hin rewşên jiyana rast dibe alîkar ku pirsgirêk ji nû ve were hilberandin û çareser kirin.
Bûyerên rastîn: çi qewimî û çi hate kirin

Detroit: Li ser Windows, RTX 3080, û guhertinek biryardar li NVIDIA Bibe Mirov
Bikarhênerek bi GeForce RTX 3080 tevî ku tiştê tîpîk dikir jî, bi berdewamî bi têkçûna lîstikê ya VK_ERROR_DEVICE_LOST re rû bi rû bû: Ajokaran nûve bikin, moda lihevhatinê biceribînin, û vebijarkên nirxandinêÇareseriya ku ji bo min xebitî ev bû ku ez biçim Panela Kontrolê ya NVIDIA û tercîhek taybetî ya têkildarî Vulkan/OpenGL di asta bernameyê de biguherim.
Ev rê, ku bi awayekî din hatibû ravekirin, ev bû: Panela Kontrolê ya NVIDIA > Mîhengên 3D Birêve Bibe > Mîhengên Bernameyê > Detroit: Become Human hilbijêreDi vebijarka rêbaza pêşwextkirî ya Vulkan/OpenGL de, mîhenga ku cûdahî çêkir ew bû ku ew li ser "Tercîhkirin li gorî tebeqeyên di DXGI Swapchain de«. Bi wê guhertinê re, girtinên dubare winda bûn bi VK_ERROR_DEVICE_LOST ve girêdayî ye.
Ev mînak carinan nîşan dide ku sererastkirinek lihevhatinê an jî çawa zincîra swapê tê birêvebirin bi tebeqeyan re ew dikare bibe mifte, nemaze dema ku sernav xwedî boriyek renderkirinê ya taybetî be an jî dema ku bi tebeqeyên din ên di pergalê de têkilî hebe.
Dota 2 li ser Linuxê: Looping û bêîstîqrariya bêserûber a xuya dike
Nimûneyeke din a girîng jî ew e ku Dota 2 bi awayekî xwemalî li ser Linux-ê dixebiteŞêweya ragihandî şaş bû: çewtiya VK_ERROR_DEVICE_LOST hem di dema maçên rast-dem de û hem jî dema temaşekirina dubarekirinan de derdiket holê, carinan tenê bi temaşekirina şerekî an jî nivîsandina di sohbetê de. Li şûna ku bi tevahî bigire, lîstik di rewşek awarte de ma. Loop bêdawî û diviyabû bi destan were "kuştin".
Di wê ezmûna taybetî de ti beşdarbûn nehatine kirin Nasnameya Match an jî wêneyên ekranê tune ne ("Bersiv tune" di her du qadan de jî hat nîşandan), ku girêdana kêliyên rast dijwar dike. Dîsa jî, nîşan (cemidandin bêyî têkçûnek tevahî) nîşan dide rewşa cîhazê ya ku nayê vegerandin ji perspektîfa sepanê ve. Di Linuxê de, ev şablon dikare bi ajokar, rêza pêşkêşkirinê û rêveberiya demjimêrê ve girêdayî be, an jî hin têkiliya bestekar/hawîrdora grafîkî.
Di rewşên weha de, çêtirîn e ku meriv ji nû ve binirxîne tomarên pergalê (dmesg, journalctl), guhertoyên Mesa/NVIDIA li gorî GPU-yê kontrol bikin, û qatên sêyemîn neçalak bikin. Ev serişte ne ku, her çend gelemperî bin jî, di sernavek Vulkan a ku bi renderkirinek dijwar dixebite wek Dota 2.
Wêneyên ekranê yên ne aram bi RenderDoc û VK_EXT_shader_object re
Bi karanîna amûrên nexşekirinê komek guherbarên xwe zêde dike. Hatiye dîtin ku Bêîstîqrarî bi RenderDoc re dema girtina sepanên ku dirêjkirinê bikar tînin VK_EXT_shader_objecttevî Têkçûnên ajokarên vegerandî, cemidandina sepanan, û xeletiyên cîhaza windabûyîEv ne ecêb e: em behsa dirêjkirineke dawî û rewşeke bi xwezayî hesas dikin (vekirina çîneke girtinê di boriyeke pêşketî de).
Ji bo ku pirsgirêk bi awayekî domdar were dubarekirin, mînaka "objectên shader» ji depoya Sascha Willems/VulkanProsedûr ev bû: Pelê binary shaderobjects.exe di bin RenderDoc de bimeşîne, çarçoveyek bigire û bûyera duyemîn vkQueueSubmit() hilbijêre.. Di wê gavê de, diyaloga rapora çewtiyê xuya bû ya amûrê.
Wekî din, ji bo kêmkirina faktorên tevlihev, berî girtinê ev tişt hatin rakirin: pelên .bin ku mînak çêdike (keşên shader), û xeletî hîn jî çêbû. Jîngeha taybetî ev bû: RenderDoc_2024_07_02_0406d376_64, Windows 10 (10.0.19045.4529), Vulkan 1.3.275, GeForce GTX 1080 y ajokar 566.12Ev dane pir bikêr in ger hûn pirsgirêkên wekhev rapor dikin an jî berawird dikin.
Lîstik û Steam têk diçin, û tewra ekranên şîn jî
Senaryoyek bi taybetî acizker jî hate ragihandin: Lîstik pir caran têk diçû, carinan jî Steam, û hetta BSOD jî xuya dibû. (ekrana şîn). Çalakiyên bingehîn ên wekî Ajokaran nûve bikin, kalîteya grafîkê sererast bikin, moda tevahî-ekranê mecbûr bikin, dorpêçan neçalak bikin y FPS bi 60 sînordar bike, lê girtin her çend deqeyan carekê di lîstikê de berdewam kirin.
Dema ku ekranên şîn di hevkêşeyê de cih digirin, gumanên bêîstîqrarî di asta kernel/ajokar de an jî di hardware bi xwe deHer çend VK_ERROR_DEVICE_LOST çewtiyek Vulkan be jî, heke tevahiya pergal lerizî be, tê pêşniyar kirin ku bi wê re were temam kirin. testên bîranînê, kontrolkirina dîskê, û çavdêriya germî ji bo derxistina holê ku GPU an dabînkirina hêza wê li sînorê xwe ye.
Sedemên muhtemel: teknîkî û rojane

Her çend her rewş bêhempa be jî, hejmarek sedemên hevpar hene ku hêjayî nirxandinê ne. Li vir nexşeyek heye ku ji we re bibe alîkar ku hûn rêyê bibînin. Ya herî gelemperî di VK_ERROR_DEVICE_LOST de:
- Ajokarên grafîkê yên ne aram an paşveçûyîGuhertoyên dawî dikarin hin sernavan sererast bikin û yên din xera bikin; berevajî vê jî dibe.
- Dirêjkirinên nû an guherbar: wek
VK_EXT_shader_object, ku hîn jî gihîştiye û dikare bi amûrên girtinê dozên qiraxê eşkere bike. - Demjimêr û TDR (Windows): Ger karekî li ser GPU-yê pir dirêj bidome, dibe ku pergal ajokar ji nû ve bide destpêkirin û cîhaza mentiqî "winda" bihêle.
- Rûpûş û qatInjektorên FPS, sohbet, weşana zindî, an şopîner dikarin destwerdanê li zincîra swapê an boriyê bikin.
- Mîhengên swapchain-a taybetîHin modên pêşkêşkirin, demjimêrkirin, an jî nivîsandinê dikarin bibin sedema têkçûnan li ser alavên/ajokerên taybetî.
- Keşeya Shaderê xera bûye yan jî ne senkronîze: paqijkirina keşfan (wek pelên .bin di mînakê de) dikare nelihevhatinên nazik rake.
- Hardware li qiraxaGermahî, zêdebûna elektrîkê, an jî zêdebûna/kêmbûna voltaja sivik dibe ku bibe sedema ku çewtî car bi car xuya bibe.
Meriv çawa bêyî ku serxweşiya xwe winda bike teşhîs dike
Berî ku hûn bîst tiştan di carekê de biguherînin, çêtir e ku hûn fermanekê bişopînin. Armanc ew e ku faktorê ku VK_ERROR_DEVICE_LOST çalak dike were veqetandin. Di rewşa we ya taybetî de, bispêrin sînyalên ku hûn dikarin bi awayekî objektîf bipîvin an jî ji nû ve hilberînin.
- Çewtiyê di rêzek kurt de dubare bike: şerekî taybetî di Dota 2 de, menuyek li Detroitê, an jî heman gava girtinê di RenderDoc de (mînak, hilbijartina vkQueueSubmit() ya duyemîn).
- Li guhertoyên OS, ajokar û GPU-yê not bikin.Daneyên wekî Windows 10 build 19045.4529, GeForce GTX 1080, û ajokar 566.12 ji bo berawirdkirina raporan dibin alîkar.
- Rûpûş û tebeqeyan neçalak bikeSteam, GeForce Experience, Discord, hwd. Kontrol bike ka tevger bêyî wan diguhere.
- Vegera nirxên "stokê": Overclockkirina GPU/CPU/RAM tune ye, bi sînorên hêzê yên xwerû û kêmbûna voltaja êrîşkar tune ye.
- Di bin şopandinê de ji nû ve diafirîne Tenê heke pêwîst be: Heke RenderDoc an amûrên mîna wê pirsgirêkê girantir bikin, bêyî ku pêşî girtina wêneyê bikin biceribînin.
- Keşeya shaderê paqij bike: hem lîstik û hem jî ajokar, ger hebe. Pelên .bin ên di mînakê de vê yekê piştgirî dikin.
- Tomarên pergalê kontrol bikinLi ser Linuxê, dmesg û journalctl; li ser Windowsê, Event Viewer û minidumps heke BSOD hebe.
Eger di vê pêvajoyê de hûn rastî gavekê werin ku her tim şaşiyê teşwîq dike (wekî ku bi vkQueueSubmit-a duyemîn di mînaka objeyên shader de qewimî), nîvê teşhîsek heye: biceribîne tenê yek guhêrbar biguherîne (ajokar, mîhenga zincîra swapê, moda pêşkêşkirinê) da ku bibînin ka tetik winda dibe an na.
Çareseriyên pratîkî û sererastkirinên ku bi kar anîne

Çîpeke sêrbaz a gerdûnî tune ye, lê hene çalakiyên bi rêjeyek serkeftinê ya başLi jêr rêze tedbîr hene ku ji kêmtirîn ber bi herî destwerdanê ve hatine rêzkirin.
Lîstikên Windows (NVIDIA/AMD) û Vulkan
- Mîhengkirina taybetî ya NVIDIA-yê ji bo Detroit: Become HumanDi Panela Kontrolê > Mîhengên 3D Birêve Bibe > Mîhengên Bernameyê > pelê lîstikê yê bicîhkirî hilbijêre, mîhenga pêşwext a Vulkan/OpenGL bibîne, û wê li ser "Tercîhkirina Qatan li ser DXGI Swapchain" bicîh bike. Ev yek têkçûnên dubare yên bi RTX 3080 re ji holê rakiriye.
- Sînorkirina FPS û senkronîzasyonêParastina 60 FPS û ekrana tevahî ya taybet dikare hin ajokaran stabîl bike, her çend ew her gav bi tena serê xwe têrê nake.
- Rûpûşan neçalak bikeSteam, NVIDIA, Discord, û hwd. Heke hûn başbûnê bibînin, wan yek bi yek ji nû ve bidin nasîn da ku sûcdar were destnîşankirin.
- Ajokarê "baş tê zanîn"Eger çewtî piştî nûvekirinê xuya bibe, guhertoyek berê ya sabît biceribîne; eger we demek dirêj e nûvekirin nekiriye, guhertoya herî dawî ya WHQL saz bike.
Linux û sernavên xwemalî bi Vulkan re (mînak Dota 2)
- Paceya grafîkê kontrol bike: : Guhertoya Mesa/NVIDIA ji bo kernel û jîngeha we guncaw e. Guhertoyek nû dibe ku çerxa bêdawî rast bike.
- Composer û pencereyan kontrol bike: Bi û bêyî bestekar, paceya tevahî-ekranê li hember paceya bêsînor biceribînin, û heke lîstik destûrê bide moda pêşkêşkirinê rast bikin.
- Têketin bi hûrgilîDemjimêra têkçûnê diyar bike û di wê demê de li dmesg/journalctl binêre. Çewtiyek GPU an jî vesazkirinek dê were tomar kirin.
Amûrên Girtin û Çareserkirina Çewtiyan (RenderDoc)
- Ji gavên pirsgirêkdar dûr bisekininEger hilbijartina bûyerek taybetî (wek vkQueueSubmit() ya duyemîn) têkçûnê çêbike, analîzê bi gavên berî an piştî wê sînordar bike.
- Tevliheviyê kêm bikeBerî tomarkirinê, keşeyên shaderê (wek yên .bin ên di mînakê de) paqij bike û guhertoyên "paqij" ên projeyê bi kar bîne.
- Guhertoyê nûve bike an biguherîne: hem RenderDoc û hem jî ajokar/GPU; bi dirêjkirinên nû re, avahiyek nûtir dibe ku rastkirinên sereke dihewîne.
Dema ku Steam jî têk diçe an jî BSOD xuya dike
- Yekparçeyiya sîstemê: Testên bîrê dimeşîne, germahiyan dişopîne, û dabînkerên hêzê kontrol dike. VK_ERROR_DEVICE_LOST dibe ku nîşanek xuya ya pirsgirêkek kûrtir be.
- Ajokarên asta kernelêAjokara GPU bi awayekî paqij ji nû ve saz bike. Ger BSOD berdewam bike, minidumpan berhev bike da ku modula rast nas bikî.
Detayên piçûk ku ferqê çêdikin
Di pratîkê de, sererastkirinên piçûk hene ku xuya dikin ku... bi tevahî aramiyê biguherîne ji sernavek taybetî. Mîhenga "Tercîhkirina qatan di DXGI Swapchain de" ji bo Detroit: Become Human mînakek zelal e. Ev celeb vebijarkan modul bike ka tebeqe, zincîra swapê û ajokar çawa têkilî datînin, û dikare ji xeletiyek taybetî derbas bibe.
Detayek din a kêrhatî ew e ku paqijkirina kaşeya shaderê berî ku guhertinên mezin werin kirin an jî wêneyên ekranê werin analîzkirin, wekî ku bi pelên .bin di mînaka objeya shader de hat kirin. Ev kêm dike nelihevhatin û dewletên kevin ku di navbera danişînan û teşhîsên ewr de dirêj dibin.
Di dawiyê de, dema ku lîstikek Nagire lê di çemberê de dimîne Piştî çewtiyê, ew nîşanek e ku cîhaza mentiqî bêyî ku serîlêdan bi tevahî wê birêve bibe, nekariye were bikar anîn. Di wan rewşan de, hêjayî ceribandinê ye. rêyên din ên darvekirinê (eger hebe, paşxaneyek cûda biguherîne, moda ekranê biguherîne, an taybetmendiyên pêşkeftî yên wekî hin siya an bandorên taybetî neçalak bike) da ku ji rewşa ku dibe sedema têkçûnê dûr bikevî.
Çavkaniyên ji bo fêmkirina Vulkan (û çêtir debugkirinê)
Fêrbûna bêtir li ser Vulkan ji we re dibe alîkar ku hûn xeletiyên mîna VK_ERROR_DEVICE_LOST bêyî ku hûn bikevin nav şaşiyê şîrove bikin. Endamek civakê çavkaniyên fermî yên Khronos bi nêzîkatiyên destpêker-dostane û navnîşên kurkirî pêşniyar kir. Ew bingehek baş in gelo hûn bernamenûsî dikin an tenê dixwazin fêm bikin ka çi diqewime.
- Rêbernameya Destpêkeran a Vulkan (Khronos): Berhevokek çavkaniyên destpêkê ji bo ku ji we re bibe alîkar ku hûn dest pê bikin û felsefeya API-yê fam bikin.
- Çavkaniyên Khronos Vulkan li ser GitHub: navnîşkirin nîşan dide ku çavkanî hatine veguheztin vulkan.org, ku hûn ê belgeyên nûjenkirî bibînin.
Eger tu nizani ji ku dest pê bikî, Ev rêbername dê ji we ceribandin û xeletiyê xilas bikin tevlihev e û dê pîvanan bide we da ku hûn pirsgirêkên wekî windabûna cîhazê, dema dawî, pirsgirêkên senkronîzasyonê û hwd çareser bikin.
Sînyalên Civakê: Têkilî û şîrove
Ji bilî raporên berfireh, têkiliyên sivik ên mîna "Like" di şîroveyekê de, û di guftûgoyên ku ji wan hatiye pirsîn de çavkaniyên fêrbûnêHer çend ew wekî hûrguliyên piçûk xuya dikin jî, ew nîşan didin ku mijar zindî û parvekirî, û ku gelek çareserî ji kombûna ezmûnan çêdibin.
Lîsteya kontrolê ya bilez ji bo doza we
Heke ev niha bi serê we tê, vê biceribînin. navnîşek kurt a kontrolên, ji rewşên berê îlham girtiye:
- Ajokar nûve bike an jî vegerîneEger te nûve kir û dest bi têkçûnê kir, guhertoya berê ya sabît biceribîne; eger te bi mehan e nûve nekiriye, WHQL-ya herî dawî saz bike.
- Rûpûşan neçalak bikeSteam, Discord, GeForce Experience, û hwd. û bibînin ka çewtî frekansê diguherîne an na.
- Mîhengkirina NVIDIA ji bo her lîstikêDi Detroit: Become Human de, danîna mîhenga pêşwext a Vulkan/OpenGL li ser "Prefer Layers in DXGI Swapchain" qezayan çareser kir.
- Moda ekranê û FPS: Ji bo aramkirina rêzên renderkirinê, tam-ekrana taybet ferz bike û FPS-ê bi nermî sînordar bike.
- Keşeyên shaderê paqij bikePelên cache-a lîstikê û, heke hebe, ajokar jî jê dibe.
- Tomarên sîstemêdmesg/journalctl li ser Linuxê an jî Event Viewer li ser Windowsê ji bo tespîtkirina vesazkirin an xeletiyên ajokaran.
Kengê rapor bidin û çi tê de bikin
Eger pirsgirêk tevî her tiştî berdewam bike, ji kerema xwe re rapor bikin Agahiyên rast Alîkariyê bilezînin. Di qadên sereke de "Bersiv tune" dûr bisekinin: tê de bikin Nasnameya lîstikê û mohra demê Eger ew lîstikek bi dubarekirinan be, û pê ve girêbide dîmenên ekranê an jî tomarên tomarê dema ku gengaz be.
Ji bîr nekin ku lê zêde bikin jîngeha teknîkî ya bêkêmasî: guhertoya pergala xebitandinê (mînak Windows 10 build 19045.4529), GPU-ya rast (GeForce GTX 1080, RTX 3080), guhertoya ajokar (wek 566.12), û gelo hûn amûrên wekî bikar tînin RenderDoc, guhertoya wê ya berbiçav (mînak RenderDoc_2024_07_02_0406d376_64). Ji bo hilberandina van daneyan zêr e.
Bi gelemperî pirs pirsîn
Çima lîstik têk naçe û tenê piştî çewtiyê dubare nabe? Ji ber ku serîlêdan dikeve rewşekê ku cîhaza mentiqî winda dibe, lê mentiqa derketinê bi tevahî nayê bicîhanîn. Di pratîkê de, divê hûn girtinê bi zorê bikin û kontrol bike ka çi bûyer an mîheng wê rewşê çalak dike.
Paqijkirina cacheya shaderê dibe alîkar? Di gelek senaryoyan de erê, nemaze dema ku hebe nelihevhatinên di navbera avakirin û keşeyan de (wek pelên .bin di mînaka objeyên shader de). Ev rêbazek bilez e ji bo avêtina rewşên xirab.
Ger ez guman dikim ku ajokar heye, divê ez bi RenderDoc wêne bigirim? Qutîya girtinê alîkariya têgihîştina boriyê bike, lê heke dirêjkirin an ajokar kesk be, ew dikare bêîstîqrariyê jî çêbike. Pêşî bêyî girtinê biceribînin, û heke hûn girtinê bikin, bi guhertoyên amûrê bikin. ku hûn dizanin bi îstîqrar ji bo doza we.
Gelo rûberdan dikarin bibin sedema VK_ERROR_DEVICE_LOST? Belê, carinan qatên derzîkirî destwerdanê li zincîra swapê dikin an jî bi senkronîzasyonê. Neçalakkirina wan yek ji ceribandinên pêşîn e ku were kirin.
Ger ez di Windows-ê de BSOD-ê jî bibînim çi dibe? Ew pêşniyar dike pirsgirêkên di asta kernel/ajokar an jî hardware deJi bilî gavên Vulkan, ew testên bîranînê pêk tîne, germahiyan kontrol dike, dabînkirina hêzê kontrol dike, û minidumpan analîz dike da ku modula xelet bibîne.
Nexşerêyek we ya zelal heye: Qalibê nas bike, tetikê îzole bike, û bi bandora îsbatkirî sererastkirinan bicîh bîne.Ji guhertina pêşwextkirî ya di Panela Kontrolê ya NVIDIA de ku lîstikên Detroit: Become Human li ser RTX 3080 tomar kir, bigire heya rêbernameyên girtina RenderDoc û tomarên çavdêriyê li ser Linuxê ji bo Dota 2, çareseriyên berbiçav hene ku qezayên celebê VK_ERROR_DEVICE_LOST pir kêm dikin. Ger hûn ji bo fêmkirina bingeha Vulkan jî xwe bispêrin çavkaniyên Khronos, her hewldanek dê rasttir be û hûn ê kêmtir dem li ser ceribandinên kor winda bikin.
Ji biçûkatiya xwe ve bi teknolojiyê dilşewat bû. Ez ji nûvebûna sektorê hez dikim û, berî her tiştî, pêwendiya wê. Ji ber vê yekê ez gelek salan ji ragihandinê re li ser malperên teknolojî û lîstikên vîdyoyê ve girêdayî bûm. Hûn dikarin min bibînin ku li ser Android, Windows, MacOS, iOS, Nintendo an mijarek din a têkildar ku tê bîra min dinivîsim.
