VK_ERROR_DEVICE_LOST ໃນ Vulkan: ສາເຫດທີ່ແທ້ຈິງ, ການວິນິດໄສ, ແລະການແກ້ໄຂ

ອັບເດດຫຼ້າສຸດ: 24/10/2025

  • VK_ERROR_DEVICE_LOST ປົກກະຕິແລ້ວໝາຍເຖິງການຣີເຊັດໄດເວີ ຫຼືການປ່ຽນເຊນລົ້ມເຫລວ.
  • ການປັບປ່ຽນຕໍ່ເກມ (ເຊັ່ນ: DXGI Swapchain ຊັ້ນ) ສາມາດເຮັດໃຫ້ຫົວຂໍ້ຄົງທີ່.
  • ສ່ວນຂະຫຍາຍໃໝ່ (ເຊັ່ນ: ວັດຖຸຮົ່ມ) ເພີ່ມຄວາມສ່ຽງຕໍ່ການຈັບພາບ.
  • ເວີຊັນຂອງ OS/driver ແລະບັນທຶກທີ່ຖືກຕ້ອງແມ່ນກຸນແຈສຳຄັນໃນການຜະລິດ ແລະແກ້ໄຂ.

VK_ERROR_DEVICE_LOST ຜິດພາດ

ຖ້າທ່ານໄດ້ພົບກັບຂໍ້ຄວາມ VK_ERROR_DEVICE_LOST ໃນຂະນະທີ່ມັກຫຼີ້ນເກມຫຼືການອອກແບບຄໍາຮ້ອງສະຫມັກກັບ Vulkan, ທ່ານບໍ່ໄດ້ຢູ່ຄົນດຽວ: ມັນເປັນບັນຫາທົ່ວໄປທີ່ສາມາດສະແດງຕົວຂອງມັນເອງເປັນອຸປະຕິເຫດ, ການປິດທີ່ບໍ່ຄາດຄິດ, ຫຼືແມ້ກະທັ້ງ loops ທີ່ໂຄງການຈະບໍ່ປິດຢ່າງເຕັມສ່ວນ. ເຖິງແມ່ນວ່າມັນເປັນສິ່ງທີ່ຫນ້າຢ້ານກົວ, ມັນມັກຈະມີຄໍາອະທິບາຍແລະ, ສໍາຄັນທີ່ສຸດ, ວິທີການຫຼຸດຜ່ອນຫຼືແກ້ໄຂມັນ.

ໃນຄູ່ມືນີ້ເຈົ້າຈະພົບເຫັນ ກໍລະນີຊີວິດຈິງໃນ Windows ແລະ Linux, ມີເກມ ແລະເຄື່ອງມື, ຂໍ້ຄຶດເພື່ອວິນິດໄສແຫຼ່ງທີ່ມາ, ການຕັ້ງຄ່າທີ່ຊ່ວຍຜູ້ໃຊ້ອື່ນໆ (ເຊັ່ນ: ການຕັ້ງຄ່າສະເພາະໃນກະດານຄວບຄຸມ NVIDIA ສໍາລັບ Detroit: ກາຍເປັນມະນຸດດ້ວຍ RTX 3080), ແລະ ຊັບພະຍາກອນທີ່ເຊື່ອຖືໄດ້ເພື່ອເຂົ້າໃຈ Vulkan ໄດ້ດີຂຶ້ນແນວຄວາມຄິດແມ່ນວ່າທ່ານບໍ່ຕ້ອງເສຍເວລາໂດດຈາກເວທີສົນທະນາໄປຫາເວທີສົນທະນາແລະມີ, ທັນທີທັນໃດ, ວິທີແກ້ໄຂທີ່ມີຄວາມເປັນໄປໄດ້ແທ້ໆ. ໃຫ້ຂອງຮຽນຮູ້ທຸກສິ່ງທຸກຢ່າງກ່ຽວກັບ ຂໍ້ຜິດພາດ VK_ERROR_DEVICE_LOST. 

VK_ERROR_DEVICE_LOST ຫມາຍຄວາມວ່າແນວໃດ ແລະເປັນຫຍັງມັນຈຶ່ງປາກົດ?

ໃນ Vulkan, ຂໍ້ຜິດພາດ VK_ERROR_DEVICE_LOST ຊີ້ບອກວ່າ ອຸປະກອນຢ່າງມີເຫດຜົນໄດ້ຢຸດການດໍາເນີນການ: ໄດເວີ GPU ໄດ້ຣີສະຕາດມັນ, ມີໄດເວີຄ້າງ, TDR ເກີດຂຶ້ນຍ້ອນການປິດກັ້ນ ຫຼືໝົດເວລາຄິວ, ຫຼືແອັບພລິເຄຊັນໄດ້ສົ່ງສິ່ງທີ່ຮາດແວ/ໄດເວີບໍ່ສາມາດຈັດການໄດ້. ມັນບໍ່ສະເຫມີສິ້ນສຸດລົງໃນອຸປະຕິເຫດ; ບາງຄັ້ງ, ດັ່ງທີ່ພວກເຮົາຈະເຫັນ, ຄໍາຮ້ອງສະຫມັກໄດ້ຮັບການ stuck ໃນ loop ແລະຕ້ອງໄດ້ຮັບການປິດໂດຍບັງຄັບ.

ເຖິງແມ່ນວ່າຮູບແບບຈະແຕກຕ່າງກັນໄປຕາມອຸປະກອນແລະຊອບແວ, ຜົນກະທົບຕໍ່ປົກກະຕິແມ່ນ ໄດເວີທີ່ບໍ່ສະຖຽນ, ສ່ວນຂະຫຍາຍໃໝ່ຫຼາຍ, ຊັ້ນ/ການວາງຊ້ອນ, ການຈຳກັດເວລາຂອງລະບົບ ແລະບາງຄັ້ງ, ໂຊກບໍ່ດີການປະສົມປະສານຂອງການຕັ້ງຄ່າກາຟິກ. ການຮູ້ບາງກໍລະນີໃນຊີວິດຈິງຈະຊ່ວຍໃຫ້ການແຜ່ພັນແລະແກ້ໄຂບັນຫາ.

ກໍລະນີທີ່ແທ້ຈິງ: ສິ່ງທີ່ເກີດຂຶ້ນແລະສິ່ງທີ່ໄດ້ເຮັດ

Nvidia RTX 5070 Super-1 ຮົ່ວ

Detroit: ກາຍເປັນມະນຸດໃນ Windows, RTX 3080, ແລະການປັບຕົວທີ່ຕັດສິນໃຈຢູ່ NVIDIA

ຜູ້ໃຊ້ທີ່ມີ a GeForce RTX 3080 ໄດ້ປະສົບບັນຫາເກມຢູ່ສະເໝີກັບ VK_ERROR_DEVICE_LOST ເຖິງແມ່ນວ່າຈະເຮັດແບບປົກກະຕິ: ອັບເດດໄດເວີ, ທົດສອບໂໝດເຂົ້າກັນໄດ້, ແລະທາງເລືອກໃນການທົບທວນຄືນການແກ້ໄຂທີ່ເຮັດວຽກສໍາລັບຂ້ອຍແມ່ນໄປທີ່ກະດານຄວບຄຸມ NVIDIA ແລະປ່ຽນການຕັ້ງຄ່າສະເພາະທີ່ກ່ຽວຂ້ອງກັບ Vulkan / OpenGL ໃນລະດັບໂຄງການ.

ເສັ້ນ​ທາງ​ທີ່​ໄດ້​ສ້າງ​ໃນ​ວິ​ທີ​ການ​ອື່ນ​, ແມ່ນ​: NVIDIA Control Panel > Manage 3D Settings > Program Settings > ເລືອກ Detroit: Become Human. ໃນຕົວເລືອກວິທີການຕັ້ງໄວ້ກ່ອນ Vulkan/OpenGL, ການຕັ້ງຄ່າທີ່ເຮັດໃຫ້ມີຄວາມແຕກຕ່າງຄືການຕັ້ງມັນເປັນ "ຕ້ອງການໂດຍຊັ້ນຂໍ້ມູນໃນ DXGI Swapchain«. ດ້ວຍ​ການ​ປ່ຽນ​ແປງ​ນັ້ນ, ການປິດຊໍ້າຄືນກໍ່ຫາຍໄປ ກ່ຽວຂ້ອງກັບ VK_ERROR_DEVICE_LOST.

ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນວ່າບາງຄັ້ງ, ການປັບຄວາມເຂົ້າກັນໄດ້ ຫຼືວິທີການຈັດການ swapchain ດ້ວຍຊັ້ນຕ່າງໆມັນສາມາດເປັນກຸນແຈ, ໂດຍສະເພາະໃນເວລາທີ່ຫົວຂໍ້ມີທໍ່ render ໂດຍສະເພາະຫຼືໃນເວລາທີ່ມີການໂຕ້ຕອບກັບຊັ້ນອື່ນໆໃນລະບົບ.

Dota 2 ໃນ Linux: Looping ແລະເບິ່ງຄືວ່າ Random Instability

ກໍລະນີທີ່ສໍາຄັນອີກອັນຫນຶ່ງແມ່ນ Dota 2 ແລ່ນຢູ່ໃນ Linuxຮູບແບບທີ່ລາຍງານເຮັດໃຫ້ງົງ: ຂໍ້ຜິດພາດ VK_ERROR_DEVICE_LOST ຈະປາກົດຂຶ້ນທັງໃນລະຫວ່າງການແຂ່ງຂັນແບບສົດໆ ແລະໃນເວລາເບິ່ງການຫຼິ້ນຄືນ, ບາງຄັ້ງກໍພຽງແຕ່ເຮັດໂດຍ ສັງເກດເບິ່ງການຕໍ່ສູ້ຫຼືແມ້ກະທັ້ງພິມໃນການສົນທະນາ. ແທນທີ່ຈະປິດຢ່າງສົມບູນ, ເກມຍັງຄົງຢູ່ໃນ a loop ນິດ ແລະຕ້ອງໄດ້ຮັບການ "ຂ້າ" ດ້ວຍຕົນເອງ.

ໃນປະສົບການສະເພາະນັ້ນບໍ່ມີການປະກອບສ່ວນໃດໆ ບໍ່ມີ ID ທີ່ກົງກັນ ຫຼືພາບໜ້າຈໍ ("ບໍ່ມີການຕອບສະຫນອງ" ໄດ້ຖືກຊີ້ບອກຢູ່ໃນທັງສອງພາກສະຫນາມ), ເຊິ່ງເຮັດໃຫ້ມັນຍາກທີ່ຈະເຊື່ອມໂຍງຊ່ວງເວລາທີ່ແນ່ນອນ. ເຖິງແມ່ນວ່າ, ອາການ (freezing ໂດຍບໍ່ມີການ crash ສົມບູນ) ຊີ້ໃຫ້ເຫັນ ສະຖານະອຸປະກອນທີ່ບໍ່ສາມາດກູ້ຄືນໄດ້ ຈາກ​ທັດ​ສະ​ນະ​ຂອງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​. ໃນ Linux, ຮູບແບບນີ້ສາມາດກ່ຽວຂ້ອງກັບໄດເວີ, ແຖວການນໍາສະເຫນີແລະການຈັດການເວລາ, ຫຼື ປະຕິສຳພັນສະພາບແວດລ້ອມຂອງນັກຂຽນ/ກາຟິກ.

ໃນສະຖານະການດັ່ງກ່າວ, ມັນແມ່ນແນະນໍາໃຫ້ທົບທວນຄືນ ບັນທຶກລະບົບ (dmesg, journalctl), ກວດເບິ່ງສະບັບ Mesa/NVIDIA ຂຶ້ນກັບ GPU, ແລະປິດການໃຊ້ງານຊັ້ນຂໍ້ມູນພາກສ່ວນທີສາມ. ເຫຼົ່ານີ້ແມ່ນຄໍາແນະນໍາທີ່, ໃນຂະນະທີ່ທົ່ວໄປ, ກາຍເປັນທີ່ກ່ຽວຂ້ອງໃນ ຊື່ Vulkan ທີ່ມີການສະແດງຜົນແບບສຸມ ຄືກັບ Dota 2.

ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  HAGS ແລະແຖບທີ່ສາມາດປັບໄດ້: ເມື່ອໃດທີ່ເຈົ້າຄວນເປີດໃຊ້ພວກມັນແທ້ໆ?

ພາບໜ້າຈໍທີ່ບໍ່ສະຖຽນກັບ RenderDoc ແລະ VK_EXT_shader_object

ການ​ນໍາ​ໃຊ້​ເຄື່ອງ​ມື​ການ​ວາງ​ແຜນ​ຈະ​ເພີ່ມ​ກໍາ​ນົດ​ຂອງ​ຕົວ​ແປ​ຂອງ​ຕົນ​ເອງ​. ມັນໄດ້ຖືກສັງເກດເຫັນ ຄວາມບໍ່ສະຖຽນລະພາບກັບ RenderDoc ເມື່ອຈັບເອົາແອັບພລິເຄຊັນທີ່ໃຊ້ສ່ວນຂະຫຍາຍ VK_EXT_shader_objectລວມທັງ ກູ້ຄືນການຂັດຂ້ອງຂອງໄດເວີ, ແອັບພລິເຄຊັນຄ້າງ, ແລະຄວາມຜິດພາດອຸປະກອນເສຍ. ມັນບໍ່ແປກໃຈ: ພວກເຮົາກໍາລັງເວົ້າກ່ຽວກັບການຂະຫຍາຍທີ່ຜ່ານມາແລະສະຖານະການທີ່ລະອຽດອ່ອນໂດຍພື້ນຖານແລ້ວ (ການສ້າງຊັ້ນຈັບເຂົ້າໄປໃນທໍ່ກ້າວຫນ້າ).

ເພື່ອແຜ່ບັນຫາຢ່າງຕໍ່ເນື່ອງ, ຕົວຢ່າງ "ໂຄງຮ່າງການ» ຈາກ repository ຂອງ Sascha Willems/Vulkanຂັ້ນ​ຕອນ​ການ​ແມ່ນ​: ແລ່ນໄບນາຣີ shaderobjects.exe ພາຍໃຕ້ RenderDoc, ບັນທຶກກອບແລະເລືອກເຫດການ vkQueueSubmit() ທີສອງ.. ໃນຂະນະນັ້ນ, ທ. ກ່ອງໂຕ້ຕອບລາຍງານຄວາມຜິດພາດປະກົດຂຶ້ນ ຂອງເຄື່ອງມື.

ນອກຈາກນັ້ນ, ເພື່ອຫຼຸດຜ່ອນປັດໃຈທີ່ສັບສົນ, ສິ່ງຕໍ່ໄປນີ້ໄດ້ຖືກໂຍກຍ້າຍອອກກ່ອນທີ່ຈະຈັບ: ໄຟລ໌ .bin ທີ່ຕົວຢ່າງສ້າງ (shader caches), ແລະຄວາມຜິດພາດຍັງເກີດຂຶ້ນ. ສະພາບແວດລ້ອມສະເພາະແມ່ນ: RenderDoc_2024_07_02_0406d376_64, Windows 10 (10.0.19045.4529), ວັລຄານ 1.3.275, GeForce GTX 1080 y driver 566.12ຂໍ້ມູນນີ້ແມ່ນເປັນປະໂຫຍດຫຼາຍຖ້າຫາກວ່າທ່ານກໍາລັງລາຍງານຫຼືປຽບທຽບບັນຫາທີ່ຄ້າຍຄືກັນ.

ເກມ ແລະ Steam ຂັດຂ້ອງ, ແລະແມ້ແຕ່ໜ້າຈໍສີຟ້າ

ສະຖານະການທີ່ຫນ້າລໍາຄານໂດຍສະເພາະແມ່ນລາຍງານ: ເກມຈະ crash ເລື້ອຍໆ, ບາງຄັ້ງ Steam ຄືກັນ, ແລະແມ້ກະທັ້ງ BSOD ຈະປາກົດ. (ຫນ້າຈໍສີຟ້າ). ການປະຕິບັດພື້ນຖານເຊັ່ນ: ອັບເດດໄດເວີ, ປັບຄຸນນະພາບກາຟິກ, ບັງຄັບໂໝດເຕັມຈໍ, ປິດການວາງຊ້ອນ y ຈຳກັດ FPS ເປັນ 60, ແຕ່ການປິດໄດ້ສືບຕໍ່ທຸກໆສອງສາມນາທີຂອງເກມ.

ໃນເວລາທີ່ຫນ້າຈໍສີຟ້າມີສ່ວນຮ່ວມໃນສົມຜົນ, ສົງໃສຂອງ ຄວາມບໍ່ສະຖຽນລະພາບໃນລະດັບ kernel/driver ຫຼືຢູ່ໃນຮາດແວຂອງມັນເອງ. ເຖິງແມ່ນວ່າ VK_ERROR_DEVICE_LOST ເປັນແມງໄມ້ Vulkan, ຖ້າລະບົບທັງຫມົດແມ່ນ wobbly, ມັນແນະນໍາໃຫ້ເສີມດ້ວຍ. ການ​ທົດ​ສອບ​ຄວາມ​ຈໍາ​, ການ​ກວດ​ສອບ​ແຜ່ນ​, ແລະ​ການ​ຕິດ​ຕາມ​ຄວາມ​ຮ້ອນ​ ເພື່ອປະຕິເສດວ່າ GPU ຫຼືການສະຫນອງພະລັງງານຂອງມັນຢູ່ໃນຂອບເຂດຈໍາກັດຂອງມັນ.

ສາເຫດທີ່ເປັນໄປໄດ້: ດ້ານວິຊາການແລະປະຈໍາວັນ

ຄອມພິວເຕີຮາດແວພາຍໃນ

ເຖິງແມ່ນວ່າແຕ່ລະກໍລະນີແມ່ນເປັນເອກະລັກ, ມີສາເຫດທົ່ວໄປຈໍານວນຫນຶ່ງທີ່ສົມຄວນພິຈາລະນາ. ນີ້ແມ່ນແຜນທີ່ເພື່ອຊ່ວຍທ່ານນຳທາງ. ທົ່ວໄປທີ່ສຸດໃນ VK_ERROR_DEVICE_LOST:

  • ໄດເວີກຣາບຟິກບໍ່ສະຖຽນ ຫຼືປ່ຽນຄືນ: ສະບັບທີ່ຜ່ານມາອາດຈະແກ້ໄຂບາງຫົວຂໍ້ແລະທໍາລາຍຄົນອື່ນ; ກົງກັນຂ້າມຍັງເກີດຂຶ້ນ.
  • ໃໝ່ ຫຼືປ່ຽນສ່ວນຂະຫຍາຍ: ເປັນ VK_EXT_shader_object, ທີ່ຍັງໃຫຍ່ເຕັມຕົວແລະສາມາດເປີດເຜີຍກໍລະນີທີ່ມີຂອບດ້ວຍເຄື່ອງມືຈັບພາບ.
  • ໝົດເວລາ ແລະ TDR (Windows): ຖ້າວຽກໃນ GPU ໃຊ້ເວລາຕະຫຼອດໄປ, ລະບົບອາດຈະ restart driver ແລະປ່ອຍໃຫ້ອຸປະກອນທີ່ມີເຫດຜົນ "ສູນເສຍ."
  • ການຊ້ອນກັນແລະຊັ້ນ: FPS injectors, chat, streaming, ຫຼື tracers ສາມາດແຊກແຊງ swapchain ຫຼື pipeline.
  • ການຕັ້ງຄ່າ swapchain ໂດຍສະເພາະ: ບາງຮູບແບບການນຳສະເໜີ, ເວລາ, ຫຼືການປະກອບອາດຈະເຮັດໃຫ້ເກີດການຂັດຂ້ອງຢູ່ໃນຮາດແວ/ໄດເວີສະເພາະ.
  • Shader cache ເສຍຫາຍ ຫຼືອອກຈາກການຊິງຄ໌: ການລ້າງແຄສ (ເຊັ່ນໄຟລ໌ .bin ໃນຕົວຢ່າງ) ສາມາດລຶບຄວາມບໍ່ສອດຄ່ອງເລັກນ້ອຍ.
  • ຮາດແວຢູ່ໃນຂອບ: ອຸນຫະພູມ, ກະແສໄຟຟ້າແຮງ ຫຼື overclocking/undervoltage ເລັກນ້ອຍອາດເຮັດໃຫ້ຄວາມຜິດພາດປະກົດຂຶ້ນເປັນໄລຍະໆ.

ວິທີການວິນິດໄສໂດຍບໍ່ມີການສູນເສຍຄວາມເຢັນຂອງທ່ານ

ກ່ອນທີ່ຈະປ່ຽນແປງ 20 ສິ່ງໃນເວລາດຽວກັນ, ມັນດີກວ່າທີ່ຈະປະຕິບັດຕາມຄໍາສັ່ງ. ເປົ້າໝາຍແມ່ນເພື່ອແຍກປັດໄຈທີ່ເຮັດໃຫ້ເກີດ VK_ERROR_DEVICE_LOST ໃນກໍລະນີສະເພາະຂອງທ່ານ, ອີງໃສ່ສັນຍານທີ່ທ່ານສາມາດວັດແທກຈຸດປະສົງຫຼືການແຜ່ພັນ.

  1. ແຜ່ພັນແມງໄມ້ໃນລໍາດັບສັ້ນ: ການຕໍ່ສູ້ສະເພາະໃນ Dota 2, ເມນູໃນ Detroit, ຫຼືຂັ້ນຕອນການຈັບພາບດຽວກັນໃນ RenderDoc (ເຊັ່ນ: ການເລືອກ vkQueueSubmit()).
  2. ຫມາຍເຫດ OS, ໄດເວີ, ແລະຮຸ່ນ GPU.: ຂໍ້ມູນເຊັ່ນ Windows 10 build 19045.4529, GeForce GTX 1080, ແລະໄດເວີ 566.12 ຊ່ວຍປຽບທຽບບົດລາຍງານ.
  3. ປິດການວາງຊ້ອນ ແລະຊັ້ນ: Steam, GeForce Experience, Discord, ແລະອື່ນໆ ກວດເບິ່ງວ່າພຶດຕິກໍາປ່ຽນແປງໂດຍບໍ່ມີພວກມັນ.
  4. ກັບຄືນຫາຄ່າ "ຫຼັກຊັບ".: ບໍ່ມີການ overclocking GPU/CPU/RAM, ມີຂອບເຂດຈໍາກັດພະລັງງານເລີ່ມຕົ້ນແລະບໍ່ມີການຮຸກຮານ undervolting.
  5. ສ້າງຄືນໃໝ່ພາຍໃຕ້ການຕິດຕາມ ພຽງແຕ່ຖ້າຈໍາເປັນ: ​​ຖ້າ RenderDoc ຫຼືເຄື່ອງມືທີ່ຄ້າຍຄືກັນເຮັດໃຫ້ບັນຫາຮ້າຍແຮງຂຶ້ນ, ພະຍາຍາມໂດຍບໍ່ຈັບກ່ອນ.
  6. ລ້າງແຄດ shader: ທັງເກມແລະຄົນຂັບ, ຖ້າມີ. ໄຟລ໌ .bin ໃນຕົວຢ່າງສະຫນັບສະຫນູນອັນນີ້.
  7. ກວດເບິ່ງບັນທຶກລະບົບ: ໃນ Linux, dmesg ແລະ journalctl; ໃນ Windows, Event Viewer ແລະ minidumps ຖ້າມີ BSOD.
ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  AMD Adrenalin ຈະບໍ່ຕິດຕັ້ງ ຫຼືປິດໃນຕອນເປີດ: ຕິດຕັ້ງໃຫ້ສະອາດດ້ວຍ DDU ໂດຍບໍ່ມີການທໍາລາຍ Windows

ຖ້າ​ຫາກ​ວ່າ​ໃນ​ຂະ​ບວນ​ການ​ທີ່​ທ່ານ​ມາ​ໃນ​ທົ່ວ​ຂັ້ນ​ຕອນ​ທີ່​ ສະເຫມີ precipitates ຄວາມຜິດພາດ (ຍ້ອນວ່າມັນເກີດຂຶ້ນກັບ vkQueueSubmit ທີສອງໃນຕົວຢ່າງວັດຖຸ shader), ທ່ານມີການວິນິດໄສເຄິ່ງຫນຶ່ງແລ້ວ: ພະຍາຍາມ. ປ່ຽນຕົວແປອັນດຽວເທົ່ານັ້ນ (ໄດເວີ, ການຕັ້ງຄ່າ swapchain, ຮູບແບບການນໍາສະເຫນີ) ເພື່ອເບິ່ງວ່າ trigger ຫາຍໄປ.

ການແກ້ໄຂການປະຕິບັດແລະການປັບຕົວທີ່ໄດ້ເຮັດວຽກ

ຈີນຫ້າມຊິບ Nvidia AI

ບໍ່ມີ wand magic ທົ່ວໄປ, ແຕ່ວ່າມີ ການປະຕິບັດທີ່ມີອັດຕາຜົນສໍາເລັດທີ່ດີຂ້າງລຸ່ມນີ້ແມ່ນຊຸດຂອງມາດຕະການທີ່ຈັດລໍາດັບຈາກຢ່າງຫນ້ອຍໄປຫາ intrusive ຫຼາຍທີ່ສຸດ.

Windows (NVIDIA/AMD) ແລະເກມ Vulkan

  • ການປັບແຕ່ງສະເພາະ NVIDIA ສໍາລັບ Detroit: ກາຍເປັນມະນຸດ- ໃນ Control Panel > Manage 3D Settings > Program Settings > ເລືອກເກມທີ່ສາມາດປະຕິບັດໄດ້, ຊອກຫາຄ່າ preset Vulkan/OpenGL, ແລະຕັ້ງມັນເປັນ "Prefer Layers on DXGI Swapchain." ນີ້ໄດ້ລົບລ້າງການຂັດຂ້ອງຊ້ຳໆກັບ RTX 3080.
  • ຈໍາກັດ FPS ແລະ synchronization: ການຮັກສາ 60 FPS ແລະຈໍເຕັມທີ່ສະເພາະສາມາດຮັກສາຄວາມຫມັ້ນຄົງຂອງໄດເວີທີ່ແນ່ນອນ, ເຖິງແມ່ນວ່າມັນບໍ່ພຽງພໍສະເຫມີກັບຕົວມັນເອງ.
  • ປິດການວາງຊ້ອນ: Steam, NVIDIA, Discord, ແລະອື່ນໆ ຖ້າທ່ານສັງເກດເຫັນການປັບປຸງ, ແນະນໍາພວກມັນຄືນໃຫມ່ຫນຶ່ງຄັ້ງເພື່ອກໍານົດຜູ້ກະທໍາຜິດ.
  • “ຮູ້ຈັກດີ” ຄົນຂັບລົດຖ້າຂໍ້ຜິດພາດປາກົດຂຶ້ນຫຼັງຈາກການປັບປຸງ, ລອງໃຊ້ສະບັບທີ່ຫມັ້ນຄົງກ່ອນຫນ້ານີ້; ຖ້າເຈົ້າຍັງບໍ່ໄດ້ອັບເດດເທື່ອ, ໃຫ້ຕິດຕັ້ງ WHQL ເວີຊັນຫຼ້າສຸດ.

Linux ແລະຊື່ຕົ້ນສະບັບດ້ວຍ Vulkan (ເຊັ່ນ: Dota 2)

  • ກວດເບິ່ງ stack ກຣາບຟິກ: : ລຸ້ນ Mesa/NVIDIA ທີ່ເໝາະສົມກັບ kernel ແລະສະພາບແວດລ້ອມຂອງທ່ານ. ການ​ຂັດ​ເວີ​ຊັນ​ອາດ​ຈະ​ແກ້​ໄຂ​ວົງ​ການ​ບໍ່​ມີ​ຂອບ​ເຂດ.
  • ກວດ​ສອບ​ການ​ປະ​ກອບ​ແລະ​ປ່ອງ​ຢ້ຽມ​: ທົດສອບດ້ວຍ ແລະບໍ່ມີຕົວປະກອບ, ເຕັມຈໍທຽບກັບໜ້າຈໍທີ່ບໍ່ມີຂອບ, ແລະປັບຮູບແບບການນຳສະເໜີຖ້າເກມອະນຸຍາດໃຫ້ມັນ.
  • ບັນທຶກລາຍລະອຽດ: ກໍານົດເວລາຂອງອຸປະຕິເຫດແລະເບິ່ງ dmesg/journalctl ໃນເວລານັ້ນ. GPU ຜິດພາດ ຫຼືຣີເຊັດຈະຖືກບັນທຶກ.

ເຄື່ອງມືຈັບພາບ ແລະດີບັກ (RenderDoc)

  • ຫຼີກເວັ້ນຂັ້ນຕອນທີ່ມີບັນຫາ: ຖ້າເລືອກເຫດການສະເພາະ (ເຊັ່ນ: vkQueueSubmit()) ທີສອງເຮັດໃຫ້ເກີດການຂັດຂ້ອງ, ຈໍາກັດການວິເຄາະເປັນຂັ້ນຕອນກ່ອນ ຫຼືຫຼັງຈາກມັນ.
  • ຫຼຸດຜ່ອນຄວາມສັບສົນ: ລຶບລ້າງແຄສຂອງ shader (ຄືກັບ .bin ໃນຕົວຢ່າງ) ກ່ອນທີ່ຈະບັນທຶກ ແລະໃຊ້ການສ້າງ "ສະອາດ" ຂອງໂຄງການ.
  • ອັບເດດ ຫຼືປ່ຽນລຸ້ນ: ທັງ RenderDoc ແລະໄດເວີ / GPU; ດ້ວຍການຂະຫຍາຍໃຫມ່, ການກໍ່ສ້າງໃຫມ່ອາດຈະປະກອບດ້ວຍການແກ້ໄຂທີ່ສໍາຄັນ.

ເມື່ອ Steam ຂັດຂ້ອງ ຫຼື BSOD ປະກົດຂຶ້ນ

  • ຄວາມສົມບູນຂອງລະບົບ: ດໍາເນີນການທົດສອບຄວາມຈໍາ, ຕິດຕາມອຸນຫະພູມ, ແລະກວດສອບການສະຫນອງພະລັງງານ. VK_ERROR_DEVICE_LOST ອາດຈະເປັນອາການທີ່ເຫັນໄດ້ຊັດເຈນຂອງບັນຫາທີ່ເລິກເຊິ່ງກວ່າ.
  • ໄດເວີລະດັບ Kernel: ຕິດຕັ້ງໄດເວີ GPU ຄືນໃໝ່ຢ່າງສະອາດ. ຖ້າ BSOD ຍັງຄົງຢູ່, ເກັບກໍາຂໍ້ມູນ minidumps ເພື່ອກໍານົດໂມດູນທີ່ແນ່ນອນ.

ລາຍລະອຽດນ້ອຍໆທີ່ເຮັດໃຫ້ຄວາມແຕກຕ່າງ

ເບິ່ງຄືວ່າມີການປັບຕົວເລັກນ້ອຍ, ໃນທາງປະຕິບັດ, ການປ່ຽນແປງຢ່າງສົມບູນ ຂອງຫົວຂໍ້ສະເພາະ. ການຕັ້ງຄ່າ "Prefer layers in DXGI Swapchain" ສໍາລັບ Detroit: Become Human ເປັນຕົວຢ່າງທີ່ຊັດເຈນ. ປະເພດເຫຼົ່ານີ້ຂອງທາງເລືອກ modulate ວິທີທີ່ layers, swapchain ແລະ driver ພົວພັນກັນ, ແລະສາມາດ bypass bug ສະເພາະ.

ລາຍລະອຽດທີ່ເປັນປະໂຫຍດອີກອັນຫນຶ່ງແມ່ນ ລ້າງ cache ຂອງ shader ກ່ອນທີ່ຈະເຮັດການປ່ຽນແປງທີ່ສໍາຄັນຫຼືການວິເຄາະພາບຫນ້າຈໍ, ດັ່ງທີ່ໄດ້ເຮັດກັບໄຟລ໌ .bin ໃນຕົວຢ່າງວັດຖຸຂອງ shader. ນີ້ຫຼຸດຜ່ອນ ຄວາມບໍ່ສອດຄ່ອງແລະລັດເກົ່າ ທີ່ລາກໄປລະຫວ່າງເຊດຊັນແລະການວິນິດໄສຄລາວ.

ສຸດທ້າຍ, ໃນເວລາທີ່ເກມ ມັນບໍ່ໄດ້ປິດແຕ່ຢູ່ໃນວົງ ຫຼັງ​ຈາກ​ຄວາມ​ຜິດ​ພາດ​, ມັນ​ເປັນ​ຂໍ້​ຄຶດ​ທີ່​ອຸ​ປະ​ກອນ​ຢ່າງ​ມີ​ເຫດ​ຜົນ​ໄດ້​ກາຍ​ເປັນ​ບໍ່​ສາ​ມາດ​ໃຊ້​ໄດ້​ໂດຍ​ບໍ່​ມີ​ການ​ນໍາ​ໃຊ້​ຢ່າງ​ເຕັມ​ທີ່​ການ​ຄຸ້ມ​ຄອງ​ມັນ​. ໃນກໍລະນີດັ່ງກ່າວນີ້, ມັນເປັນມູນຄ່າການທົດສອບ. ເສັ້ນ​ທາງ​ການ​ປະ​ຕິ​ບັດ​ອື່ນໆ​ (backend ທີ່ແຕກຕ່າງກັນຖ້າມັນມີຢູ່, ປ່ຽນໂຫມດຫນ້າຈໍ, ຫຼືປິດຄຸນສົມບັດຂັ້ນສູງເຊັ່ນ: ເງົາຫຼືຜົນກະທົບບາງຢ່າງ) ເພື່ອຫຼີກເວັ້ນສະຖານະທີ່ເຮັດໃຫ້ເກີດອຸປະຕິເຫດ.

ຊັບພະຍາກອນທີ່ຈະເຂົ້າໃຈ Vulkan (ແລະ debug ດີກວ່າ)

ການຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບ Vulkan ຊ່ວຍໃຫ້ທ່ານຕີຄວາມຫມາຍຄວາມຜິດພາດເຊັ່ນ VK_ERROR_DEVICE_LOST ໂດຍບໍ່ມີການໂດດເຂົ້າໄປໃນຕາບອດ. ສະມາຊິກຊຸມຊົນຄົນໜຶ່ງໄດ້ແນະນຳຊັບພະຍາກອນທີ່ເປັນທາງການຂອງ Khronos ດ້ວຍວິທີການທີ່ເປັນມິດກັບຜູ້ເລີ່ມຕົ້ນ ແລະລາຍຊື່ທີ່ຄັດສັນມາ. ພວກເຂົາເປັນພື້ນຖານທີ່ດີ ບໍ່ວ່າຈະເປັນທ່ານກໍາລັງດໍາເນີນໂຄງການຫຼືພຽງແຕ່ຕ້ອງການທີ່ຈະເຂົ້າໃຈສິ່ງທີ່ເກີດຂຶ້ນ.

  • ຄູ່ມືຜູ້ເລີ່ມຕົ້ນເພື່ອ Vulkan (Khronos): ການເກັບກໍາຂໍ້ມູນການແນະນໍາເພື່ອຊ່ວຍໃຫ້ທ່ານເລີ່ມຕົ້ນແລະເຂົ້າໃຈປັດຍາ API.
  • ຊັບພະຍາກອນ Khronos Vulkan ໃນ GitHub: ບັນຊີລາຍຊື່ຊີ້ໃຫ້ເຫັນວ່າຊັບພະຍາກອນໄດ້ຖືກຍ້າຍໄປ vulkan.org, ບ່ອນທີ່ທ່ານຈະພົບເຫັນເອກະສານສະບັບປັບປຸງ.
ເນື້ອຫາສະເພາະ - ຄລິກທີ່ນີ້  ວິທີການປ່ຽນ DPI ຫນູຂອງທ່ານໃນ Windows 11?

ຖ້າເຈົ້າບໍ່ຮູ້ວ່າຈະເລີ່ມຈາກໃສ, ຄູ່ມືເຫຼົ່ານີ້ຈະຊ່ວຍປະຢັດທ່ານການທົດລອງແລະຄວາມຜິດພາດ messy ແລະ​ຈະ​ໃຫ້​ທ່ານ​ມາດ​ຕະ​ຖານ​ເພື່ອ​ແກ້​ໄຂ​ບັນ​ຫາ​ເຊັ່ນ​ການ​ສູນ​ເສຍ​ອຸ​ປະ​ກອນ​, timeout​, ບັນ​ຫາ synchronization​, ແລະ​ອື່ນໆ​ອີກ​.

ສັນຍານຊຸມຊົນ: ການໂຕ້ຕອບແລະຄໍາເຫັນ

ນອກເຫນືອໄປຈາກບົດລາຍງານລາຍລະອຽດ, ຍັງມີ ການໂຕ້ຕອບທີ່ເບົາບາງເຊັ່ນ "ມັກ" ໃນຄໍາເຫັນ, ແລະການສົນທະນາບ່ອນທີ່ພວກເຂົາຖືກຖາມ ແຫຼ່ງ​ການ​ຮຽນ​ຮູ້​. ເຖິງແມ່ນວ່າພວກເຂົາເບິ່ງຄືວ່າເປັນລາຍລະອຽດເລັກນ້ອຍ, ພວກເຂົາສະທ້ອນໃຫ້ເຫັນວ່າຫົວຂໍ້ແມ່ນ ມີຊີວິດຢູ່ແລະແບ່ງປັນ, ແລະວ່າການແກ້ໄຂຈໍານວນຫຼາຍແມ່ນເກີດມາຈາກຜົນລວມຂອງປະສົບການ.

ລາຍ​ການ​ກວດ​ສອບ​ດ່ວນ​ສໍາ​ລັບ​ກໍ​ລະ​ນີ​ຂອງ​ທ່ານ​

ຖ້າສິ່ງນີ້ເກີດຂຶ້ນກັບເຈົ້າດຽວນີ້, ລອງໃຊ້ອັນນີ້. ບັນຊີລາຍຊື່ສັ້ນຂອງການກວດສອບ, ໄດ້ຮັບການດົນໃຈຈາກກໍລະນີທີ່ຜ່ານມາ:

  • ອັບເດດ ຫຼືມ້ວນຄືນໄດເວີຖ້າທ່ານພຽງແຕ່ປັບປຸງແລະມັນເລີ່ມລົ້ມເຫລວ, ລອງໃຊ້ສະບັບທີ່ຫມັ້ນຄົງກ່ອນຫນ້ານີ້; ຖ້າທ່ານບໍ່ໄດ້ອັບເດດໃນເດືອນ, ໃຫ້ຕິດຕັ້ງ WHQL ຫຼ້າສຸດ.
  • ປິດການວາງຊ້ອນ: Steam, Discord, GeForce Experience, ແລະອື່ນໆ.ແລະເບິ່ງວ່າຄວາມຜິດພາດປ່ຽນແປງຄວາມຖີ່.
  • ການປັບ NVIDIA ຕໍ່ເກມ: ໃນ Detroit: ກາຍເປັນມະນຸດ, ການຕັ້ງ Vulkan/OpenGL preset ເປັນ “Prefer Layers in DXGI Swapchain” ແກ້ໄຂການຂັດຂ້ອງ.
  • ໂໝດໜ້າຈໍ ແລະ FPS: ບັງຄັບໃຫ້ເຕັມຈໍສະເພາະ ແລະຈຳກັດ FPS ປານກາງເພື່ອສະຖຽນລະພາບຄິວການສະແດງຜົນ.
  • ລຶບລ້າງແຄສຂອງ shader: ລຶບໄຟລ໌ແຄດເກມ ແລະ, ຖ້າມີ, ໄດເວີ.
  • ບັນທຶກລະບົບ: dmesg/journalctl ເທິງ Linux ຫຼື Event Viewer ໃນ Windows ເພື່ອກວດຫາການຣີເຊັດ ຫຼືຂໍ້ຜິດພາດ.

ເມື່ອໃດທີ່ຈະລາຍງານແລະສິ່ງທີ່ຈະລວມເອົາ

ຮາດແວຄອມພິວເຕີ
ຮາດແວຄອມພິວເຕີ

ຖ້າບັນຫາຍັງຄົງຢູ່ເຖິງແມ່ນວ່າທຸກຢ່າງ, ໃຫ້ລາຍງານມັນໄປຫາ ຂໍ້ມູນທີ່ຖືກຕ້ອງ ເລັ່ງ​ການ​ຊ່ວຍ​ເຫຼືອ​. ຫຼີກເວັ້ນການ "ບໍ່ມີການຕອບສະຫນອງ" ໃນຂົງເຂດທີ່ສໍາຄັນ: ປະກອບມີ ID ເກມ ແລະເວລາ ຖ້າມັນເປັນເກມທີ່ມີ replays, ແລະຄັດຕິດ ພາບໜ້າຈໍ ຫຼືບັນທຶກ ເມື່ອເປັນໄປໄດ້.

ຢ່າລືມເພີ່ມ ສະພາບແວດລ້ອມດ້ານວິຊາການທີ່ສົມບູນ: ລຸ້ນ OS (ເຊັ່ນ: Windows 10 build 19045.4529), GPU ທີ່ແນ່ນອນ (GeForce GTX 1080, RTX 3080), ຮຸ່ນໄດເວີ (ເຊັ່ນ: 566.12), ແລະບໍ່ວ່າທ່ານໃຊ້ເຄື່ອງມືເຊັ່ນ: RenderDoc, ສະບັບສີມັງຂອງມັນ (ເຊັ່ນ: RenderDoc_2024_07_02_0406d376_64). ຂໍ້ມູນນີ້ແມ່ນຄໍາເພື່ອແຜ່ພັນ.

ຄຳ ຖາມທີ່ພົບເລື້ອຍ

ເປັນ​ຫຍັງ​ເກມ​ບໍ່​ຂັດ​ແລະ​ພຽງ​ແຕ່ loop ຫຼັງ​ຈາກ​ຄວາມ​ຜິດ​ພາດ​? ເນື່ອງຈາກວ່າແອັບພລິເຄຊັນເຂົ້າໄປໃນສະຖານະທີ່ອຸປະກອນໂລຈິກຖືກສູນເສຍ, ແຕ່ເຫດຜົນຂອງຜົນຜະລິດບໍ່ໄດ້ຖືກປະຕິບັດຢ່າງເຕັມສ່ວນ. ໃນທາງປະຕິບັດ, ທ່ານຕ້ອງບັງຄັບໃຫ້ປິດ ແລະກວດເບິ່ງວ່າເຫດການ ຫຼືການຕັ້ງຄ່າອັນໃດທີ່ເຮັດໃຫ້ເກີດສະຖານະນັ້ນ.

ການລ້າງແຄດ shader ຊ່ວຍໄດ້ບໍ? ໃນຫຼາຍໆສະຖານະການແມ່ນແລ້ວ, ໂດຍສະເພາະເມື່ອມີ ຄວາມບໍ່ສອດຄ່ອງລະຫວ່າງການສ້າງແລະຖານຄວາມຈໍາ (ເຊັ່ນ: ໄຟລ໌ .bin ໃນຕົວຢ່າງວັດຖຸຂອງ shader). ນີ້ແມ່ນວິທີທີ່ໄວທີ່ຈະຍົກເລີກລັດທີ່ເສຍຫາຍ.

ຂ້ອຍຄວນຈັບກັບ RenderDoc ຖ້າຂ້ອຍສົງໃສວ່າຄົນຂັບ? ສາມາດຈັບໄດ້ ຊ່ວຍເຂົ້າໃຈທໍ່ນັ້ນ, ແຕ່ມັນຍັງສາມາດແນະນໍາຄວາມບໍ່ສະຖຽນລະພາບໄດ້ຖ້າສ່ວນຂະຫຍາຍຫຼືໄດເວີແມ່ນສີຂຽວ. ທົດສອບຄັ້ງທໍາອິດໂດຍບໍ່ມີການຈັບ, ແລະຖ້າທ່ານຈັບ, ເຮັດແນວນັ້ນກັບສະບັບຂອງເຄື່ອງມື. ທີ່ທ່ານຮູ້ຈັກຄວາມຫມັ້ນຄົງ ສຳ ລັບຄະດີຂອງທ່ານ.

ການວາງຊ້ອນສາມາດເຮັດໃຫ້ເກີດ VK_ERROR_DEVICE_LOST ບໍ? ແມ່ນແລ້ວ, ບາງຄັ້ງ ຊັ້ນທີ່ສັກຢາແຊກແຊງກັບ swapchain ຫຼືມີການ synchronization. ການປິດພວກມັນແມ່ນຫນຶ່ງໃນການທົດສອບທໍາອິດທີ່ຈະປະຕິບັດ.

ຈະເປັນແນວໃດຖ້າຂ້ອຍເຫັນ BSOD ໃນ Windows? ທີ່ແນະນໍາ ບັນຫາຢູ່ໃນລະດັບ kernel/driver ຫຼືຮາດແວນອກເຫນືອໄປຈາກຂັ້ນຕອນ Vulkan, ມັນເຮັດການທົດສອບຄວາມຊົງຈໍາ, ກວດເບິ່ງອຸນຫະພູມ, ກວດສອບການສະຫນອງພະລັງງານ, ແລະວິເຄາະ minidumps ເພື່ອຊອກຫາໂມດູນທີ່ຜິດພາດ.

ທ່ານມີແຜນທີ່ເສັ້ນທາງທີ່ຈະແຈ້ງ: ກໍານົດຮູບແບບ, ແຍກຕົວກະຕຸ້ນ, ແລະນໍາໃຊ້ການປັບຕົວທີ່ມີປະສິດຕິຜົນທີ່ພິສູດແລ້ວຈາກການປ່ຽນແປງທີ່ຕັ້ງໄວ້ລ່ວງໜ້າໃນແຜງຄວບຄຸມ NVIDIA ທີ່ບັນທຶກເກມໃນ Detroit: Become Human on RTX 3080, ໄປຫາ RenderDoc capture guide ແລະ monitoring logs on Linux for Dota 2, ມີວິທີແກ້ໄຂຢ່າງຈິງຈັງທີ່ຫຼຸດຜ່ອນການຂັດຂ້ອງປະເພດ VK_ERROR_DEVICE_LOST ໄດ້ຢ່າງຫຼວງຫຼາຍ. ຖ້າທ່ານຍັງອີງໃສ່ຊັບພະຍາກອນ Khronos ເພື່ອເຂົ້າໃຈພື້ນຖານຂອງ Vulkan, ແຕ່ລະຄວາມພະຍາຍາມຈະຖືກຕ້ອງຫຼາຍຂຶ້ນ ແລະທ່ານຈະເສຍເວລາໜ້ອຍລົງໃນການກວດຕາບອດ.