วิธีเพิ่มความเร็วในการเรนเดอร์ Blender

How Speed Up Blender Rendering



Blender ซึ่งเปิดตัวครั้งแรกในปี 1995 โดย Ton Roosendaal นักพัฒนาจากเนเธอร์แลนด์ เป็นเครื่องมือสร้าง 3D อันทรงพลังที่ใช้สร้างกราฟิก 3 มิติ แอป 3 มิติแบบโต้ตอบ วิดีโอเกม วิดีโอเสมือนจริง และแอนิเมชั่น มีให้ใช้งานเป็นซอฟต์แวร์โอเพ่นซอร์สตั้งแต่ปี 2545 และทำงานบนระบบปฏิบัติการยอดนิยมเช่น macOS, Linux และ Windows Blender มีคุณสมบัติมากมาย และสามารถใช้สำหรับการสร้างแบบจำลอง 3 มิติ การทำพื้นผิว การแรเงา การควบคุม การจำลองอนุภาค การแกะสลัก ภาพกราฟิกเคลื่อนไหว และการจัดองค์ประกอบภาพ

Blender เรียนรู้ได้ง่ายและได้รับการสนับสนุนจากชุมชนขนาดใหญ่ Blender เป็นแอปพลิเคชั่นที่แข็งแกร่งมาก และฟังก์ชั่นการสร้างแบบจำลอง การแกะสลัก และการนำทางวิวพอร์ตนั้นราบรื่น อย่างไรก็ตาม สำหรับฉากที่มีเนื้อหา 3 มิติ เงาเงา พื้นผิวที่มีความละเอียดสูง อนุภาค และไฟตามปริมาตร ต้องใช้เวลาจำนวนมากในการเรนเดอร์ อย่างไรก็ตาม เวลาที่จำเป็นสำหรับการเรนเดอร์สามารถลดลงได้โดยใช้การตั้งค่าตัวแสดงภาพที่เหมาะสม ในบทความนี้ เราจะพูดถึงวิธีการลดเวลาในการแสดงผลใน Blender และผลกระทบของวิธีการเหล่านี้ในผลลัพธ์สุดท้าย







การแสดงฉากใน Blender นั้นแตกต่างจากการแสดงภาพในโปรแกรมแก้ไขรูปภาพหรือวิดีโอจากโปรแกรมตัดต่อวิดีโอ มีหลายปัจจัยที่ต้องพิจารณาก่อนเรนเดอร์ใน Blender เพื่อหลีกเลี่ยงไม่ให้เสียเวลา ตัวอย่างเช่น Blender (เวอร์ชัน 2.8) มาพร้อมกับเอ็นจิ้นการเรนเดอร์สองตัว: Eevee และ Cycles Eevee เร็วกว่า Cycles มาก และมีเวลาและความต้องการทรัพยากรที่ต่ำกว่า อย่างไรก็ตาม แม้ว่า Eevee จะเป็นโปรแกรมแสดงพอร์ตวิวพอร์ตแบบเรียลไทม์ แต่ Cycles เป็นเครื่องมือสร้างภาพ Ray Tracing ที่ให้ผลลัพธ์ที่ดีกว่า เอ็นจิ้นการเรนเดอร์สามารถเลือกได้ตามความชอบส่วนบุคคล แต่นักออกแบบมืออาชีพมักจะชอบ Cycles มากกว่าเนื่องจากความแม่นยำและความสมจริง แม้ว่าจะมีความต้องการด้านเวลาที่สูงขึ้น



การแสดงผลด้วย Cycles อาจทำให้หงุดหงิด แต่เราสามารถลดเวลาในการแสดงผลได้โดยการปรับการตั้งค่าตัวแสดงภาพ ตอนนี้ เราจะมาดูการตั้งค่าบางอย่างที่สามารถปรับเพื่อลดเวลาในการเรนเดอร์ด้วยเอ็นจิ้นการเรนเดอร์ Cycles



จำนวนตัวอย่าง

จำนวนตัวอย่างที่จำเป็นสำหรับการเรนเดอร์ที่เหมาะสมนั้นไม่สามารถทราบล่วงหน้าได้ อย่างไรก็ตาม กฎทั่วไปของหัวแม่มือคือให้เก็บตัวอย่างน้อยที่สุดเท่าที่จะเป็นไปได้ ในขณะเดียวกันก็รับประกันว่าจะมีเสียงรบกวนในระดับที่ยอมรับได้ ดังนั้น จึงต้องพิจารณาการประนีประนอมดังต่อไปนี้: ตัวอย่างที่น้อยลงจะส่งผลให้เกิดสัญญาณรบกวนมากขึ้นแต่ใช้เวลาเรนเดอร์ที่ต่ำกว่า ในขณะที่ตัวอย่างจำนวนมากขึ้นส่งผลให้เกิดสัญญาณรบกวนน้อยลงแต่มีเวลาการเรนเดอร์ที่สูงขึ้น





Denoising

ฉากหรือวัตถุของคุณจะมีสัญญาณรบกวนหากคุณลดจำนวนตัวอย่างลง เพื่อลดเสียงรบกวน คุณสามารถเลือกตัวเลือก Denoising ในแท็บเลเยอร์มุมมองได้ Denoising เป็นขั้นตอนหลังการประมวลผลที่ renderer จะดำเนินการหลังจากเรนเดอร์ฉากหรือวัตถุ



จำนวนการตีกลับ

นอกจากนี้เรายังสามารถแก้ไขจำนวนการตีกลับเพื่อลดเวลาในการแสดงผล แสงสะท้อนซึ่งทำให้เกิดแสงทางอ้อมคือการเปลี่ยนแปลงทิศทางของรังสีหลังจากชนกับพื้นผิว 3 มิติ เมื่อเกิดการกระดอนน้อยลง ฉากหรือวัตถุจะมีรายละเอียดน้อยลง แต่เวลาในการแสดงผลก็จะลดลงเช่นกัน จำนวนการเด้งสูงสุดคือ 12 แต่สำหรับฉากส่วนใหญ่ การเด้ง 4 ถึง 6 ครั้งก็เพียงพอแล้ว อย่างไรก็ตาม สิ่งสำคัญคือต้องแน่ใจว่าจำนวนการตีกลับไม่ต่ำเกินไป

หากต้องการเปลี่ยนจำนวนการเด้ง ให้ไปที่การตั้งค่าการแสดงผล > Light Paths > Max Bounces

การเพิ่มประสิทธิภาพไทล์

การปรับขนาดไทล์ยังช่วยลดเวลาการเรนเดอร์ได้อีกด้วย สำหรับการเรนเดอร์ CPU ให้ย่อขนาดไทล์ให้เล็กที่สุด อย่างไรก็ตาม หากคุณมี GPU คุณสามารถใช้ไทล์ที่ใหญ่กว่าได้ ด้วยการเรนเดอร์ CPU ขนาดไทล์ที่เล็กกว่าจะลดเวลาในการเรนเดอร์ อย่างไรก็ตาม สำหรับการเรนเดอร์ GPU สิ่งที่ตรงกันข้ามจะเกิดขึ้น

หากต้องการเปลี่ยนขนาดไทล์ ให้ไปที่การตั้งค่าการแสดงผล > ประสิทธิภาพ > ขนาดไทล์

การแสดงผล GPU

การเรนเดอร์ CPU สามารถใช้เพื่อแสดงไฟล์ใน Blender ได้ แต่การเรนเดอร์ GPU เป็นตัวเลือกที่ดีเมื่อเรนเดอร์ด้วย Cycles หากต้องการเปิดใช้งานการเรนเดอร์ GPU ให้ไปที่ไฟล์ > ค่ากำหนด > ระบบ > อุปกรณ์เรนเดอร์แบบวนรอบ > CUDA/OptiX/OpenCL Blender จะจดจำการ์ดกราฟิกของคุณโดยอัตโนมัติ การเรนเดอร์ GPU สามารถใช้ GPU หลายตัว แต่ด้วยการแสดง CPU คุณจะใช้ CPU ได้เพียงตัวเดียว

การสร้างอินสแตนซ์วัตถุ

ผู้ใช้ Blender หลายคนไม่รู้จักเทคนิคนี้ แต่เป็นวิธีที่มีประโยชน์มากในการลดเวลาในการแสดงผล ตัวอย่างเช่น สมมติว่าคุณมีต้นไม้จำนวนมากในฉากของคุณ ในกรณีนี้ คุณสามารถอินสแตนซ์ต้นไม้แทนที่จะทำซ้ำโดยใช้ Alt+D เพื่อสร้างอินสแตนซ์ อินสแตนซ์มีประโยชน์เนื่องจากการทำสำเนาออบเจ็กต์จะสร้างภาระให้กับ CPU หรือ GPU ซึ่งทำให้เวลาในการเรนเดอร์เพิ่มขึ้น

โคมไฟพอร์ทัล

ตัวแสดงภาพแบบวนรอบจะใช้เวลาจำนวนมากในการแสดงฉากภายใน อย่างไรก็ตาม ด้วยการใช้ไฟพอร์ทัล เราสามารถลดเวลาการเรนเดอร์ได้ โคมไฟพอร์ทัลช่วยให้ Blender เข้าใจประเภทของฉาก หากต้องการเปิดใช้งานไฟพอร์ทัล ให้ตรวจสอบตัวเลือกพอร์ทัลในการตั้งค่าไฟส่องสว่างในพื้นที่

สิ่งสำคัญคือต้องสังเกตว่าโคมไฟพอร์ทัลไม่ทำงานเสมอไป โคมไฟพอร์ทัลทำงานได้ดีที่สุดสำหรับแสงทางอ้อมและฉากภายในเพื่อแสดงแสงจากหน้าต่าง แต่ถ้าใช้ไฟพอร์ทัลมากเกินไป เวลาในการแสดงผลอาจเพิ่มขึ้น และฉากที่เกิดขึ้นอาจมีสัญญาณรบกวน

เอฟเฟกต์เชิงปริมาตร

เอฟเฟกต์เชิงปริมาตร เช่น ไฟแสดงปริมาตรและหมอกปริมาตรเป็นงานที่ต้องใช้โปรเซสเซอร์มาก หากคุณมีปริมาณหมอกหรือแสงในฉากของคุณ Cycles จะมีข้อกำหนดด้านเวลาสูง คุณสามารถเพิ่มเอฟเฟกต์เชิงปริมาตรได้ในระหว่างขั้นตอนหลังการประมวลผล

การสุ่มตัวอย่างแบบปรับได้

การสุ่มตัวอย่างแบบปรับเปลี่ยนได้ ซึ่งเป็นเทคนิคสำคัญในการลดเวลาในการแสดงผล มีอยู่ใน Blender เวอร์ชันล่าสุดทั้งหมด ด้วยตัวเลือกนี้ Blender จะโฟกัสน้อยลงในส่วนที่มีความสำคัญน้อยกว่าหรืออยู่นอกกล้อง ซึ่งจะช่วยลดเวลาในการเรนเดอร์

หากต้องการเปิดใช้งานตัวเลือกนี้ ให้ไปที่การตั้งค่าการแสดงผล > การสุ่มตัวอย่าง และเลือกการสุ่มตัวอย่างแบบปรับเปลี่ยนได้

โซดาไฟ

หากเป็นไปได้ ให้ปิดเอฟเฟกต์สารกัดกร่อน ซึ่งเป็นเอฟเฟกต์ที่เน้นโปรเซสเซอร์ การปิดเอฟเฟกต์ดังกล่าวในการตั้งค่าการแสดงผลจะลดเวลาในการแสดงผล ไปที่ Render Settings และยกเลิกการเลือก Reflective Caustics และ Refractive Caustics


Cycles renderer คือตัวแสดงผล ray-tracing ที่ใช้โปรเซสเซอร์มาก ซึ่งมักจะมีความต้องการด้านเวลาสูง อย่างไรก็ตาม มีเทคนิคบางอย่างที่สามารถลดเวลาในการแสดงผลได้ ขั้นแรก สามารถลดจำนวนตัวอย่างได้ เนื่องจากการลดจำนวนตัวอย่างจะทำให้เวลาในการแสดงผลลดลง อย่างไรก็ตาม เทคนิคนี้อาจทำให้วัตถุหรือฉากเกิดสัญญาณรบกวนได้ ดังนั้น Denoising จึงสามารถใช้เป็นตัวเลือกหลังการประมวลผลได้ นอกจากนี้ ให้หลีกเลี่ยงเอฟเฟกต์เชิงปริมาตร ถ้าเป็นไปได้ และเพิ่มเอฟเฟกต์ดังกล่าวระหว่างขั้นตอนหลังการประมวลผล สุดท้าย การทำสำเนาวัตถุสามารถแทนที่ด้วยอินสแตนซ์ของวัตถุ ด้วยเทคนิคเหล่านี้ คุณจะปรับปรุงเวลาการเรนเดอร์ของคุณได้อย่างมาก