ໜ່ວຍຄວາມຈຳ ແລະ ການປັບແຕ່ງປະສິດທິພາບ
🔗ຄວາມຕ້ອງການໜ່ວຍຄວາມຈຳ
ການປະມວນຜົນຮູບພາບ Raw ໃນ darktable ຕ້ອງໃຊ້ໜ່ວຍຄວາມຈຳລະບົບ (RAM) ຫຼາຍ. ຖ້າຄຳນວນງ່າຍໆ: ສຳລັບຮູບພາບຂະໜາດ 20 ລ້ານພິກເຊວ, darktable ຕ້ອງການພື້ນທີ່ 4x32-bit floating point ເພື່ອເກັບແຕ່ລະພິກເຊວ, ໝາຍຄວາມວ່າຮູບພາບຂະໜາດນີ້ຈະໃຊ້ RAM ປະມານ 300MB ພຽງເພື່ອເກັບຂໍ້ມູນພາບ. ໃນການປະມວນຜົນຜ່ານໂມດູນໃດໜຶ່ງ, darktable ຕ້ອງການຢ່າງໜ້ອຍສອງບັບເຟີ (input ແລະ output) ໃນຂະໜາດດຽວກັນ, ແລະ ໂມດູນທີ່ຊັບຊ້ອນກວ່າອາດຕ້ອງການບັບເຟີເພີ່ມເຕີມສຳລັບຂໍ້ມູນລະຫວ່າງກາງ. ຖ້າບໍ່ມີການປັບແຕ່ງ, ອາດຕ້ອງໃຊ້ RAM ລະຫວ່າງ 600MB ຫາ 3GB ເພື່ອປະມວນຜົນ. ນອກຈາກນີ້ຍັງມີສ່ວນຂອງລະຫັດໂປຣແກຣມ, ໄລບຣາຣີຂອງລະບົບ, ແລະ ບັບເຟີອື່ນໆທີ່ darktable ໃຊ້ເກັບສະຖານະຊົ່ວຄາວ (cache) ເພື່ອໃຫ້ເຮັດວຽກໄດ້ໄວຂຶ້ນ.
ໂດຍລວມແລ້ວ, darktable ຕ້ອງການ RAM ຕົວຈິງ ຢ່າງໜ້ອຍ 4GB ບວກກັບພື້ນທີ່ swap ເພີ່ມເຕີມ 4 ຫາ 8GB ເພື່ອເຮັດວຽກ, ແຕ່ມັນຈະເຮັດວຽກໄດ້ດີຂຶ້ນ ຖ້າຫາກທ່ານມີໜ່ວຍຄວາມຈຳຫຼາຍເທົ່າໃດ.
ນອກຈາກການປະມວນຜົນດ້ວຍ CPU ແລ້ວ, ຫຼາຍໂມດູນໃນ darktable ຍັງຮອງຮັບ OpenCL ເພື່ອນຳໃຊ້ ການປະມວນຜົນແບບຂະໜານຂອງກາດຈໍ (GPU). ໃນທຳນອງດຽວກັນ, ຖ້າທ່ານມີໜ່ວຍຄວາມຈຳ GPU ຫຼາຍເທົ່າໃດ, darktable ກໍຈະເຮັດວຽກໄດ້ໄວຂຶ້ນເທົ່ານັ້ນ.
🔗ການແບ່ງສ່ວນປະມວນຜົນ (Tiling)
ຖ້າ darktable ມີໜ່ວຍຄວາມຈຳບໍ່ພຽງພໍທີ່ຈະປະມວນຜົນຮູບພາບທັງໝົດໃນຄັ້ງດຽວ, ໂມດູນຕ່າງໆອາດຈະເລືອກໃຊ້ “ກົນລະຍຸດການແບ່ງສ່ວນ” (tiling), ເຊິ່ງຮູບພາບຈະຖືກແບ່ງເປັນສ່ວນນ້ອຍໆ ເພື່ອປະມວນຜົນແຍກກັນ ແລ້ວຈຶ່ງນຳມາຕໍ່ກັນໃນຕອນທ້າຍ. ເຖິງແມ່ນວ່າວິທີນີ້ຈະຊ່ວຍໃຫ້ປະມວນຜົນໄດ້ດ້ວຍໜ່ວຍຄວາມຈຳທີ່ໜ້ອຍ, ແຕ່ມັນກໍມີຂໍ້ເສຍບາງຢ່າງ:
-
ການແບ່ງສ່ວນຈະເຮັດວຽກຊ້າກວ່າສະເໝີ – ບາງຄັ້ງອາດຊ້າກວ່າເຖິງ 10 ເທົ່າ, ເຖິງແມ່ນວ່າໃນບາງໂມດູນຄວາມແຕກຕ່າງຈະໜ້ອຍຫຼາຍ,
-
ບາງໂມດູນບໍ່ສາມາດໃຊ້ການແບ່ງສ່ວນໄດ້ທາງເຕັກນິກ ຍ້ອນລັກສະນະຂອງສູດການຄຳນວນທີ່ໃຊ້
ສຳລັບລະບົບສ່ວນໃຫຍ່, ການແບ່ງສ່ວນອາດຈະຖືກໃຊ້ສະເພາະຕອນສົ່ງອອກຮູບພາບຂະໜາດເຕັມເທົ່ານັ້ນ, ສ່ວນການແຕ່ງຮູບໃນ darkroom ຈະປະມວນຜົນໄດ້ໄວຂຶ້ນ. ເພື່ອປະສິດທິພາບສູງສຸດ (ແລະ ເພື່ອຫຼີກລ່ຽງການແບ່ງສ່ວນ) ທ່ານຄວນເປີດ darktable ໂດຍບໍ່ເປີດແອັບອື່ນຫຼາຍເກີນໄປ ແລະ ຕັ້ງຄ່າໃຫ້ darktable ໃຊ້ RAM ແລະ GPU ໃຫ້ຫຼາຍທີ່ສຸດເທົ່າທີ່ຈະເຮັດໄດ້.
🔗ການປັບແຕ່ງປະສິດທິພາບ
ມີຄ່າການຕັ້ງຄ່າຫຼາຍຢ່າງທີ່ຊ່ວຍໃຫ້ທ່ານປັບແຕ່ງປະສິດທິພາບຂອງລະບົບໄດ້. ບາງຄ່າສາມາດປັບໄດ້ໃນ ການຕັ້ງຄ່າ > ການປະມວນຜົນ > CPU / ໜ່ວຍຄວາມຈຳ ແລະ ບາງຄ່າຕ້ອງແກ້ໄຂໂດຍກົງໃນໄຟລ໌ກຳນົດຄ່າຂອງ darktable (darktablerc ໃນ ໂຟນເດີກຳນົດຄ່າ).
ພາກນີ້ຈະໃຫ້ຄຳແນະນຳກ່ຽວກັບວິທີການປັບແຕ່ງຄ່າເຫຼົ່ານີ້.
🔗ວິທີການທົດສອບ
ເພື່ອໃຫ້ຮູ້ວ່າການປັບແຕ່ງຂອງທ່ານຊ່ວຍໃຫ້ darktable ເຮັດວຽກໄດ້ໄວຂຶ້ນ ຫຼື ບໍ່, ທ່ານຕ້ອງມີຮູບພາບຕົວຢ່າງ ແລະ ວິທີການວັດແທກຄວາມໄວຂອງທໍ່ປະມວນຜົນ (pixelpipe).
ສຳລັບຮູບພາບຕົວຢ່າງ, ແນະນຳໃຫ້ໃຊ້ໂມດູນທີ່ປະມວນຜົນໜັກໆ ເຊັ່ນ diffuse or sharpen ຫຼື denoise (profiled). ການທົດສອບດ້ວຍການສົ່ງອອກ (export) ຈະໃຫ້ເວລາທີ່ຄົງທີ່ ແລະ ປຽບທຽບໄດ້ງ່າຍກວ່າການແຕ່ງຮູບແບບໂຕ້ຕອບ.
ເພື່ອເບິ່ງຂໍ້ມູນການປະມວນຜົນ, ທ່ານຕ້ອງເປີດ darktable ຈາກເທີມິນໍດ້ວຍຄຳສັ່ງ darktable -d opencl -d perf. ຖ້າຕ້ອງການຂໍ້ມູນກ່ຽວກັບການແບ່ງສ່ວນ (tiling) ໃຫ້ໃຊ້ darktable -d opencl -d tiling -d perf.
ທຸກຄັ້ງທີ່ທໍ່ປະມວນຜົນເຮັດວຽກ (ເມື່ອທ່ານປ່ຽນຄ່າໂມດູນ, ຊູມ, ເລື່ອນພາບ, ສົ່ງອອກ ແລະ ອື່ນໆ) ທ່ານຈະເຫັນເວລາທັງໝົດທີ່ໃຊ້ ແລະ ເວລາທີ່ໃຊ້ໃນແຕ່ລະສ່ວນຂອງ OpenCL ໃນເທີມິນໍ. ຄ່າທີ່ເຊື່ອຖືໄດ້ທີ່ສຸດແມ່ນເວລາທັງໝົດທີ່ໃຊ້ໃນ pixelpipe, ເຊິ່ງທ່ານຄວນໃຊ້ຄ່ານີ້ເພື່ອປະເມີນການປ່ຽນແປງ.
ໝາຍເຫດ: ເວລາທີ່ສະແດງສຳລັບແຕ່ລະໂມດູນອາດຈະບໍ່ຊັດເຈນ ເມື່ອເປີດໃຊ້ການປະມວນຜົນ OpenCL ແບບບໍ່ຊິງໂຄຣໄນ (ເບິ່ງ asyncronous mode ດ້ານລຸ່ມ).
ເພື່ອໃຫ້ OpenCL ເຮັດວຽກໄດ້ຢ່າງມີປະສິດທິພາບ, ມັນຈຳເປັນຕ້ອງໃຫ້ GPU ເຮັດວຽກຢູ່ຕະຫຼອດ. ການຂັດຈັງຫວະ ຫຼື ການໄຫຼຂອງຂໍ້ມູນທີ່ຕິດຂັດ ຈະເຮັດໃຫ້ເວລາປະມວນຜົນເພີ່ມຂຶ້ນ. ສິ່ງນີ້ສຳຄັນຫຼາຍສຳລັບການປະມວນຜົນຮູບພາບຂະໜາດນ້ອຍໃນເວລາແຕ່ງຮູບ, ເຊິ່ງ GPU ທີ່ໄວສາມາດເຮັດແລ້ວໄດ້ທັນທີ. ແຕ່ເຖິງແມ່ນການຢຸດສະງັກພຽງເລັກນ້ອຍ ກໍອາດກາຍເປັນບັນຫາຄໍຂວດໄດ້.
ໃນທາງກົງກັນຂ້າມ, ປະສິດທິພາບຂອງ darktable ໃນລະຫວ່າງການສົ່ງອອກໄຟລ໌ ແມ່ນຂຶ້ນກັບຄວາມໄວຂອງສູດການຄຳນວນ ແລະ ຄວາມແຮງຂອງ GPU ເປັນຫຼັກ. ການຢຸດສະງັກໄລຍະສັ້ນຈະບໍ່ມີຜົນກະທົບຫຼາຍຕໍ່ເວລາທັງໝົດຂອງການສົ່ງອອກ.
🔗ຊັບພະຍາກອນຂອງ darktable
ການຕັ້ງຄ່າ “ຊັບພະຍາກອນ darktable” (ໃນ ການຕັ້ງຄ່າ > ການປະມວນຜົນ > CPU / ໜ່ວຍຄວາມຈຳ) ຊ່ວຍໃຫ້ເຈົ້າເລືອກໄດ້ລະຫວ່າງສີ່ວິທີທີ່ແຕກຕ່າງກັນໃນການຈັດສັນຊັບພະຍາກອນຂອງລະບົບໃຫ້ກັບ darktable. ແຕ່ລະຕົວເລືອກເຫຼົ່ານີ້ຈະຄວບຄຸມຫຼາຍພາຣາມິເຕີແຍກກັນ, ເຊິ່ງຖືກກຳນົດໄວ້ຢ່າງເປັນເອກະລາດໃນ darktablerc ໃນ ໂຟນເດີກຳນົດຄ່າ ຂອງ darktable. ເຈົ້າສາມາດແກ້ໄຂຄ່າເຫຼົ່ານີ້ໄດ້ໂດຍກົງໃນໄຟລ໌ darktablerc ຂອງເຈົ້າເພື່ອປັບແຕ່ງຄ່າສຳລັບລະດັບຊັບພະຍາກອນທີ່ເລືອກ, ເຖິງແມ່ນວ່າເຈົ້າຈະບໍ່ສາມາດເພີ່ມລະດັບຊັບພະຍາກອນທີ່ກຳນົດເອງໃສ່ໃນລາຍການເລືອກຂອງການຕັ້ງຄ່າໄດ້ກໍຕາມ.
ແຕ່ລະຕົວເລືອກໃນ 4 ລະດັບຂອງ “ຊັບພະຍາກອນຂອງ darktable” ຖືກກຳນົດໄວ້ດັ່ງນີ້:
resource_default=512 8 128 700
resource_large=700 16 128 900
resource_small=128 4 64 400
ໂດຍທົ່ວໄປ, ສາມາດສະແດງເປັນ resource_level=a b c d ໂດຍທີ່ a - d ມີຄວາມໝາຍດັ່ງນີ້:
- a. ໜ່ວຍຄວາມຈຳລະບົບສຳລັບການປະມວນຜົນໂມດູນ
- ຈຳນວນ RAM ສູງສຸດທີ່ອະນຸຍາດໃຫ້ໃຊ້. ຄ່າທີ່ຕ່ຳຈະເຮັດໃຫ້ໂມດູນທີ່ກິນ RAM ຫຼາຍຕ້ອງແບ່ງສ່ວນປະມວນຜົນຫຼາຍຂຶ້ນ. ຕົວເລກນີ້ແມ່ນສັດສ່ວນຂອງ RAM ທັງໝົດ ຫານດ້ວຍ 1024. ຕົວຢ່າງ: ໃນລະບົບທີ່ມີ RAM 16GB, ຄ່າທີ່ກຳນົດໂດຍ
resource_default(ເປັນ GB) ແມ່ນ16 * 512 / 1024ຫຼື ເທົ່າກັບ 8GB. - b. ຂະໜາດບັບເຟີຂັ້ນຕ່ຳຂອງການແບ່ງສ່ວນ
- ຂະໜາດຕ່ຳສຸດຂອງແຕ່ລະສ່ວນ (tile), ໂດຍຄິດເປັນສັດສ່ວນຂອງ RAM ທັງໝົດເຊັ່ນກັນ. ຕົວຢ່າງ: ໃນລະບົບທີ່ມີ RAM 16GB, ຄ່າທີ່ກຳນົດໂດຍ
resource_defaultແມ່ນ 0.125GB. ໝາຍເຫດ: ຄ່ານີ້ເປັນການຕັ້ງຄ່າແບບເກົ່າ ແລະ ບໍ່ຄ່ອຍໄດ້ໃຊ້ແລ້ວ – ແນະນຳໃຫ້ປະໄວ້ເປັນຄ່າເລີ່ມຕົ້ນ. - c. ໜ່ວຍຄວາມຈຳແຄຊຮູບຕົວຢ່າງ (thumbnail cache)
- ຈຳນວນ RAM ທີ່ໃຊ້ສຳລັບເກັບຮູບຕົວຢ່າງ. ໃນລະບົບທີ່ມີ RAM 16GB, ຄ່າທີ່ກຳນົດໂດຍ
resource_defaultແມ່ນ 2GB. - d. ໜ່ວຍຄວາມຈຳ OpenCL (GPU)
- ຈຳນວນ RAM ຂອງກາດຈໍສູງສຸດທີ່ໃຫ້ໃຊ້. ຄືກັນກັບ RAM ລະບົບ, ຖ້າຕັ້ງຄ່າຕ່ຳຈະເຮັດໃຫ້ຕ້ອງແບ່ງສ່ວນປະມວນຜົນຫຼາຍຂຶ້ນ. RAM ຂອງ GPU ອາດຈະຖືກໃຊ້ໂດຍແອັບອື່ນນຳ, ແລະ ຕ່າງຈາກ RAM ລະບົບຄື GPU ບໍ່ສາມາດໃຊ້ swap ໄດ້. ຖ້າຕັ້ງຄ່າສູງເກີນໄປ, darktable ອາດຈະຕ້ອງກັບໄປໃຊ້ CPU (ເຊິ່ງຊ້າກວ່າຫຼາຍ) ຫຼື ອາດຈະເຮັດໃຫ້ໂປຣແກຣມຄ້າງ. ດັ່ງນັ້ນ, ຄ່ານີ້ຈຶ່ງມີການຫັກອອກ 600MB ເພື່ອຄວາມປອດໄພ. ຕົວຢ່າງ: ກາດຈໍທີ່ມີ RAM 6GB, darktable ຈະໃຊ້ RAM ປະມານ 3.5GB ເມື່ອໃຊ້ລະດັບ
resource_default.
ນອກຈາກລະດັບຊັບພະຍາກອນໃນ UI ແລ້ວ, ຍັງມີຕົວເລືອກທີ່ຕັ້ງຜ່ານຄຳສັ່ງ (command-line) ໄດ້ (ເຊັ່ນ darktable --conf resourcelevel="notebook"). ໂໝດເຫຼົ່ານີ້ຖືກອອກແບບມາເພື່ອ ທົດສອບບັນຫາການແບ່ງສ່ວນ ແລະ ປະສິດທິພາບ. ຕົວເລືອກທີ່ມີໃຫ້ມີດັ່ງນີ້:
-
“mini” (RAM 1GB, ບັບເຟີດ່ຽວ 2MB, ແຄຊຮູບຕົວຢ່າງ 128MB, RAM OpenCL 200MB)
-
“notebook” (RAM 4GB, ບັບເຟີດ່ຽວ 32MB, ແຄຊຮູບຕົວຢ່າງ 512MB, RAM OpenCL 1GB)
-
“reference” (RAM 8GB, ບັບເຟີດ່ຽວ 32MB, ແຄຊຮູບຕົວຢ່າງ 512MB, RAM OpenCL 2GB)
-
“common2026” (16GB RAM, 64MB ບັບເຟີດ່ຽວ, 1GB ແຄຊ໌ຮູບຕົວຢ່າງ, 5.5GB ໜ່ວຍຄວາມຈຳ OpenCL)
🔗ການປັບແຕ່ງການໃຊ້ໜ່ວຍຄວາມຈຳ GPU
ຖ້າທ່ານຕ້ອງການໃຊ້ RAM ຂອງກາດຈໍໃຫ້ໄດ້ຫຼາຍທີ່ສຸດສຳລັບ OpenCL, ທ່ານມີ 2 ທາງເລືອກ:
-
ເລືອກລະດັບຊັບພະຍາກອນ “large”. ສຳລັບກາດຈໍ 6GB, ມັນຈະໃຊ້ RAM GPU ປະມານ 5GB, ແລະ ເຫຼືອໄວ້ 1GB ສຳລັບລະບົບ. (ແນະນຳ)
-
ແກ້ໄຂ darktablerc ເພື່ອເພີ່ມຕົວເລກສຸດທ້າຍ (ສັດສ່ວນ RAM OpenCL) ໃນລະດັບທີ່ເລືອກ. ຕົວຢ່າງ: ເພີ່ມເປັນ 950 ຈະເຮັດໃຫ້ໃຊ້ RAM ໄດ້ 5.3GB ໃນກາດຈໍ 6GB. (ບໍ່ແນະນຳຢ່າງເດັດຂາດ)
🔗ການຊັ່ງນ້ຳໜັກລະຫວ່າງ OpenCL ກັບ CPU Tiling
ໂດຍທົ່ວໄປ, ການປະມວນຜົນຜ່ານ GPU (OpenCL) ຈະໄວກວ່າ CPU ຫຼາຍ. ແຕ່ບາງຄົນມີ CPU ຫຼາຍຄໍ (multi-core) ທີ່ໄວ ແລະ ມີ RAM ຫຼາຍ, ແຕ່ມີ GPU ທີ່ບໍ່ແຮງ (ເຊັ່ນກາດຈໍອອນບອດ). ໃນກໍລະນີນີ້ ການໃຊ້ OpenCL ອາດເຮັດໃຫ້ເກີດ tiling ຫຼາຍເກີນໄປ, ເຊິ່ງການໃຊ້ CPU ປະມວນຜົນແບບບໍ່ຕ້ອງແບ່ງສ່ວນອາດຈະໄວກວ່າ.
ໃນລະຫວ່າງການປະມວນຜົນ, darktable ຈະພະຍາຍາມຄຳນວນວ່າວິທີໃດດີທີ່ສຸດລະຫວ່າງ OpenCL ແລະ CPU. ສ່ວນໃຫຍ່ແລ້ວມັນຈະເລືອກ OpenCL ເຖິງແມ່ນວ່າຈະຕ້ອງແບ່ງສ່ວນ (tiling) ກໍຕາມ, ເພາະ OpenCL ມັກຈະໄວກວ່າ CPU ຫຼາຍ (ບາງຄັ້ງໄວກວ່າເຖິງ 10 ເທົ່າ ຖ້າເປັນກາດຈໍແຍກ).
ຖ້າອັດຕາສ່ວນຂອງການປະມວນຜົນ (CPU ທຽບກັບ GPU) ຫຼາຍກວ່າ ຄ່າແນະນຳຄວາມໄດ້ປຽບ (advantage hint), darktable ຈະໃຊ້ CPU ແທນ, ຖ້າບໍ່ດັ່ງນັ້ນກໍຈະໃຊ້ GPU.
🔗ການຕັ້ງຄ່າ OpenCL ສຳລັບແຕ່ລະອຸປະກອນ
ການຕັ້ງຄ່າເລີ່ມຕົ້ນຂອງ darktable ໃຫ້ປະສິດທິພາບ GPU ທີ່ດີຢູ່ແລ້ວ. ແຕ່ຖ້າທ່ານຕ້ອງການປັບແຕ່ງຕື່ມ, ພາກນີ້ຈະອະທິບາຍຄ່າການຕັ້ງຄ່າຕ່າງໆ (ເຊິ່ງທັງໝົດຢູ່ໃນໄຟລ໌ darktablerc).
ຕົວເລືອກສ່ວນໃຫຍ່ຂອງ OpenCL ຈະຖືກຈັດການແບບ “ແຍກຕາມອຸປະກອນ”. ຄ່າການຕັ້ງຄ່າຈະມີລັກສະນະດັ່ງນີ້:
cldevice_v7_rusticlamdradeon8060sgraphics=events:on asyncmode:off device:on unifraction: 0.250
ຫຼື ໃນຮູບແບບທົ່ວໄປ:
cldevice_version_canonicalname=events:on/off asyncmode:on/off device:on/off unifraction: float
An entry will be automatically created in darktablerc for each newly-detected device when you launch darktable for the first time, with the correct canonical device name and version number. The parameters are defined as follows and can be manually edited:
- events
- on = use OpenCL events when calling enqueue kernels (default); off = don’t use
- This flag controls the use of OpenCL events when calling enqueue kernels.
- asyncmode
- on = use asynchronous mode; off = don’t use (default)
- This flag controls how often darktable blocks the OpenCL pixelpipe to get a status on success/failure of the kernels that have been run. For optimum latency set this to on, so that darktable runs the pixelpipe asynchronously and tries to use as few interrupts/events as possible. If you experience OpenCL errors like failing kernels, reset the parameter to off. This will cause darktable to interrupt after each module so that you can more easily isolate any problems. Issues have been reported with some older AMD/ATI cards (like the HD57xx) which can produce garbled output if this parameter is set to on. If in doubt, leave it at its default of off.
- device
- on = enable device; off = disable device
- If darktable detects a malfunctioning device it will automatically mark it as such by setting this parameter to off. If you have a device that reports a lot of errors you can manually disable it by setting this field to off. If darktable has disabled the device but you are sure it should be used you can re-enable it by setting this field to on.
- unifraction
- The unifraction is a float and can be chosen by the user in the 0.02-0.5 range (default: 0.25). Some OpenCL devices don’t have dedicated memory but share it with the CPU – Apple ARM silicon is one example but also onboard devices from Intel, AMD or ARM SOCs. As we want to keep system memory available for caching or CPU codepaths we restrict the amount of all memory used to the given fraction. So with a value of 0.5 and an Apple computer with 16GB of system RAM, OpenCL would be able to make use of 8GB.
ໝາຍເຫດ: ຖ້າ darktable ກວດພົບວ່າຄ່າການຕັ້ງຄ່າຜິດພາດ, ມັນຈະຖືກຣີເຊັດເປັນຄ່າເລີ່ມຕົ້ນ.
🔗ການປິດໃຊ້ງານ OpenCL ສະເພາະອຸປະກອນ
It is possible to disable an OpenCL device for specific modules by adding a comma-separated list of modules to the nocl option in the darktablerc file, for example:
cldevice_v7_rusticlamdradeon8060sgraphics_nocl=colorbalancergb,denoiseprofile
ຫຼື ໃນຮູບແບບທົ່ວໄປ:
cldevice_version_canonicalname_nocl=ລາຍການ,ໂມດູນ,ທີ່,ແຍກ,ດ້ວຍ,ຈຸດ
ໂມດູນໃດໜຶ່ງໃນລາຍຊື່ນີ້ຈະຖືກປະມວນຜົນດ້ວຍ CPU ແທນ OpenCL.
🔗ການຕັ້ງຄ່າ OpenCL ແຍກຕາມ ID
Another device-specific configuration key is also provided, which takes into account both the device name and the device id (in case you have two identical devices). In this case, the usual key name cldevice_version_canonicalname is followed by _idX with X being the device id. For example, if the above example device was referred to as device 0, the configuration setting would (by default) be cldevice_v7_rusticlamdradeon8060sgraphics_id0=headroom: 600.
ຄ່ານີ້ໃນປັດຈຸບັນມີພຽງແຕ່ຄ່າດຽວ:
- headroom (default 600)
- The amount of memory (in MB) that will not be used by darktable during OpenCL processing. This setting is valid if you have more than one hardware device and the tuned GPU memory switch has been switched on.
-
ຖ້າທ່ານໝັ້ນໃຈວ່າບໍ່ມີແອັບອື່ນໃຊ້ກາດຈໍນັ້ນ, ສາມາດຕັ້ງເປັນ 0 ເພື່ອໃຫ້ darktable ໃຊ້ RAM ທັງໝົດຂອງກາດຈໍນັ້ນໄດ້.
-
ຄ່າ 600MB ແມ່ນເໝາະສົມສຳລັບສ່ວນໃຫຍ່. ແຕ່ຖ້າ darktable ມັກຈະຫຼຸດໄປໃຊ້ CPU, ໃຫ້ລອງປ່ຽນເປັນ 800 ຫຼື ຫຼາຍກວ່ານັ້ນ.
🔗ຄ່າການຕັ້ງຄ່າອື່ນໆ
ຍັງມີຄ່າການຕັ້ງຄ່າເພີ່ມເຕີມໃນ darktablerc ດັ່ງນີ້:
- cldevice_version_canonicalname_building
- ໃຊ້ໃນຕອນສ້າງ (compile) OpenCL kernels ເພື່ອປັບແຕ່ງປະສິດທິພາບ ຫຼື ແກ້ໄຂບັກ. ທ່ານຕ້ອງລຶບ kernels ເກົ່າອອກກ່ອນເພື່ອສ້າງໃໝ່ດ້ວຍຄ່ານີ້.
- opencl_mandatory_timeout
- ຄ່າເລີ່ມຕົ້ນ 400
- ເວລາທີ່ darktable ຈະລໍຖ້າເພື່ອຈອງອຸປະກອນ OpenCL ກ່ອນທີ່ຈະຫຼຸດໄປໃຊ້ CPU. ຖ້າກາດຈໍຂອງທ່ານແຮງກວ່າ CPU ຫຼາຍ, ໃຫ້ເພີ່ມຄ່ານີ້.