ໜ່ວຍຄວາມຈຳ ແລະ ການປັບແຕ່ງປະສິດທິພາບ

🔗ຄວາມຕ້ອງການໜ່ວຍຄວາມຈຳ

ການປະມວນຜົນຮູບພາບ 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 ໄດ້ 4 ຮູບແບບ. ແຕ່ລະຕົວເລືອກຈະຄວບຄຸມຫຼາຍພາກສ່ວນ, ເຊິ່ງຖືກກຳນົດແຍກກັນໃນໄຟລ໌ darktablerc. ທ່ານສາມາດແກ້ໄຂຄ່າເຫຼົ່ານີ້ໄດ້ໂດຍກົງໃນໄຟລ໌ 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 single buffer, 1GB thumbnail cache, 5.5GB OpenCL memory)

🔗ການປັບແຕ່ງການໃຊ້ໜ່ວຍຄວາມຈຳ 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_v6_rusticlamdradeon8060sgraphics=250 0 1 0 0 0.000 0.250

ຫຼື ໃນຮູບແບບທົ່ວໄປ:

cldevice_version_canonicalname=a b c d e f g

ລາຍການຈະຖືກສ້າງຂຶ້ນໂດຍອັດຕະໂນມັດໃນ darktablerc ສຳລັບທຸກອຸປະກອນທີ່ກວດພົບ. ຄ່າ a - g ມີຄວາມໝາຍດັ່ງນີ້ ແລະ ສາມາດປັບແຕ່ງເອງໄດ້:

a. micro nap (ການຢຸດພັກໄລຍະສັ້ນ)
ຄ່າເລີ່ມຕົ້ນ 250
ປົກກະຕິເຮົາຢາກໃຫ້ GPU ເຮັດວຽກ 100%, ແຕ່ຖ້າ GPU ຕ້ອງໃຊ້ສະແດງຜົນໜ້າຈໍນຳ, ມັນອາດເຮັດໃຫ້ GUI ຄ້າງ ຫຼື ກະຕຸກ ເວລາຊູມ ຫຼື ເລື່ອນສະໄລເດີ. darktable ຈຶ່ງສາມາດເພີ່ມການຢຸດພັກສັ້ນໆ ເພື່ອໃຫ້ GPU ມີເວລາໄປຈັດການໜ້າຈໍ. ຄ່ານີ້ມີຫົວໜ່ວຍເປັນ ໄມໂຄຣວິນາທີ (microseconds).

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

b. pinned memory (ໜ່ວຍຄວາມຈຳແບບຄົງທີ່)
0 = ປິດ (ເລີ່ມຕົ້ນ); 1 = ເປີດ
ໃນເວລາແບ່ງສ່ວນປະມວນຜົນ, ຂໍ້ມູນຈະຖືກສົ່ງລະຫວ່າງ RAM ລະບົບ ແລະ GPU ຫຼາຍ. ໃນບາງອຸປະກອນ, ການສົ່ງຂໍ້ມູນໂດຍກົງອາດເຮັດໃຫ້ປະສິດທິພາບຕົກລົງ, ໂດຍສະເພາະຕອນສົ່ງອອກຮູບໃຫຍ່ ດ້ວຍກາດຈໍນ້ອຍ ຫຼື ໃຊ້ໂມດູນໃໝ່ໆ ເຊັ່ນ diffuse or sharpen.

ບໍ່ມີວິທີທີ່ແນ່ນອນທີ່ຈະບອກວ່າເປີດແລ້ວຈະດີຂຶ້ນຫຼືບໍ່, ທ່ານຕ້ອງລອງທົດສອບເອງ. ແຕ່ຖ້າກາດຈໍຜະລິດຫຼັງປີ 2015, ການເປີດຄ່ານີ້ມັກຈະບໍ່ເຫັນຜົນປານໃດ.

c. use OpenCL events (ໃຊ້ເຫດການ OpenCL)
1 = ໃຊ້ (ເລີ່ມຕົ້ນ); 0 = ບໍ່ໃຊ້
ໃຊ້ຄວບຄຸມການເຮັດວຽກຂອງ OpenCL events ເວລາຮຽກໃຊ້ງານຄຳສັ່ງປະມວນຜົນ.
d. asynchronous mode (ໂໝດບໍ່ຊິງໂຄຣໄນ)
1 = ເປີດ; 0 = ປິດ (ເລີ່ມຕົ້ນ)
ໃຊ້ຄວບຄຸມວ່າ darktable ຈະກວດສອບສະຖານະການປະມວນຜົນເລື້ອຍປານໃດ. ຕັ້ງເປັນ 1 ເພື່ອໃຫ້ເຮັດວຽກໄດ້ໄວທີ່ສຸດ. ແຕ່ຖ້າພົບຂໍ້ຜິດພາດຂອງ OpenCL ໃຫ້ຕັ້ງເປັນ 0 ເພື່ອ ໃຫ້ກວດສອບຫຼັງຈົບແຕ່ລະໂມດູນ ເຊິ່ງຈະຊ່ວຍໃຫ້ຫາສາເຫດຂອງບັນຫາໄດ້ງ່າຍຂຶ້ນ.
e. disable device (ປິດການໃຊ້ງານອຸປະກອນ)
0 = ເປີດໃຊ້; 1 = ປິດໃຊ້
ຖ້າ darktable ກວດພົບວ່າອຸປະກອນມີບັນຫາ, ມັນຈະຕັ້ງເປັນ 1 ໂດຍອັດຕະໂນມັດເພື່ອປິດໃຊ້ງານ. ທ່ານສາມາດປິດເອງໄດ້ຖ້າອຸປະກອນນັ້ນມີບັນຫາເລື້ອຍໆ, ຫຼື ຕັ້ງເປັນ 0 ເພື່ອລອງເປີດໃຊ້ອີກຄັ້ງ.
f. advantage hint (ຄ່າແນະນຳຄວາມໄດ້ປຽບ)
ໃຊ້ສຳລັບການຊັ່ງນ້ຳໜັກລະຫວ່າງ CPU ແລະ GPU. ຖ້າທ່ານມີກາດຈໍແຮງ, ໃຫ້ປະໄວ້ເປັນ 0.000. ແຕ່ຖ້າຢາກປັບແຕ່ງເອງ ໃຫ້ເຮັດດັ່ງນີ້:
  1. ເປີດ darktable ດ້ວຍ darktable -d tiling ແລ້ວແຕ່ງຮູບໃນ darkroom. ໃຊ້ໂມດູນ [highlight reconstruction] ດ້ວຍວິທີ “guided laplacians” ແລະ ປັບຄ່າສູງໆ ໂດຍບໍ່ໃຫ້ເກີດ tiling.
  2. ກວດສອບເວລາປະມວນຜົນທັງຕອນເປີດ ແລະ ປິດ OpenCL (ດ້ວຍ darktable -d perf).
  3. ຕັ້ງຄ່າ advantage hint ໃຫ້ເທົ່າກັບ (ເວລາ CPU / ເວລາ GPU).
g. shared memory fraction (ສັດສ່ວນໜ່ວຍຄວາມຈຳທີ່ໃຊ້ຮ່ວມກັນ)
ອຸປະກອນບາງຢ່າງ (ເຊັ່ນ Apple ARM ຫຼື ກາດຈໍອອນບອດ) ໃຊ້ RAM ຮ່ວມກັບ CPU. ເຮົາສາມາດກຳນົດສັດສ່ວນ RAM ທີ່ຈະໃຫ້ OpenCL ໃຊ້ໄດ້. ຕົວຢ່າງ: ຖ້າຕັ້ງເປັນ 0.5 ໃນເຄື່ອງທີ່ມີ RAM 16GB, OpenCL ຈະໃຊ້ໄດ້ 8GB.

ໝາຍເຫດ: ຖ້າ darktable ກວດພົບວ່າຄ່າການຕັ້ງຄ່າຜິດພາດ, ມັນຈະຖືກຣີເຊັດເປັນຄ່າເລີ່ມຕົ້ນ.


🔗ການຕັ້ງຄ່າ OpenCL ແຍກຕາມ ID

ຍັງມີການຕັ້ງຄ່າອີກແບບທີ່ອ້າງອີງຕາມທັງຊື່ ແລະ ID ຂອງອຸປະກອນ (ໃນກໍລະນີທີ່ມີກາດຈໍສອງອັນທີ່ຄືກັນ). ຊື່ຄ່າຈະລົງທ້າຍດ້ວຍ _idX ໂດຍ X ແມ່ນເລກລຳດັບ ID. ຕົວຢ່າງ: cldevice_v5_quadrortx4000_id0=600.

ຄ່ານີ້ໃນປັດຈຸບັນມີພຽງແຕ່ຄ່າດຽວ:

forced headroom (ຄ່າເລີ່ມຕົ້ນ 600)
ຈຳນວນ RAM (ເປັນ MB) ທີ່ darktable ຈະ ບໍ່ໃຊ້ ໃນເວລາປະມວນຜົນ OpenCL. ຄ່ານີ້ຈະໃຊ້ໄດ້ເມື່ອມີອຸປະກອນຫຼາຍກວ່າໜຶ່ງ ແລະ ເປີດໃຊ້ [tuned GPU memory].

ຖ້າທ່ານໝັ້ນໃຈວ່າບໍ່ມີແອັບອື່ນໃຊ້ກາດຈໍນັ້ນ, ສາມາດຕັ້ງເປັນ 0 ເພື່ອໃຫ້ darktable ໃຊ້ RAM ທັງໝົດຂອງກາດຈໍນັ້ນໄດ້.

ຄ່າ 600MB ແມ່ນເໝາະສົມສຳລັບສ່ວນໃຫຍ່. ແຕ່ຖ້າ darktable ມັກຈະຫຼຸດໄປໃຊ້ CPU, ໃຫ້ລອງປ່ຽນເປັນ 800 ຫຼື ຫຼາຍກວ່ານັ້ນ.

🔗ຄ່າການຕັ້ງຄ່າອື່ນໆ

ຍັງມີຄ່າການຕັ້ງຄ່າເພີ່ມເຕີມໃນ darktablerc ດັ່ງນີ້:

cldevice_version_canonicalname_building
ໃຊ້ໃນຕອນສ້າງ (compile) OpenCL kernels ເພື່ອປັບແຕ່ງປະສິດທິພາບ ຫຼື ແກ້ໄຂບັກ. ທ່ານຕ້ອງລຶບ kernels ເກົ່າອອກກ່ອນເພື່ອສ້າງໃໝ່ດ້ວຍຄ່ານີ້.
opencl_mandatory_timeout
ຄ່າເລີ່ມຕົ້ນ 400
ເວລາທີ່ darktable ຈະລໍຖ້າເພື່ອຈອງອຸປະກອນ OpenCL ກ່ອນທີ່ຈະຫຼຸດໄປໃຊ້ CPU. ຖ້າກາດຈໍຂອງທ່ານແຮງກວ່າ CPU ຫຼາຍ, ໃຫ້ເພີ່ມຄ່ານີ້.

translations