ข้ามไปเนื้อหาหลัก

Three.js Post-Processing: เจาะลึก 192 การทดลองบนเดสก์ท็อป

เผยผลทดสอบ Three.js post-processing กว่า 192 ครั้งบนฮาร์ดแวร์ RTX 5070 Ti เพื่อวัดผลกระทบด้านประสิทธิภาพนอกเหนือจากตัวเลข FPS

เรียบเรียงโดย AI
Inewgen
28 Oct 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
Three.js Post-Processing: เจาะลึก 192 การทดลองบนเดสก์ท็อป

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • รันการทดลองสด 192 ครั้งครอบคลุม 3 ฉากและ 64 เงื่อนไขบนเดสก์ท็อป
  • ใช้ฮาร์ดแวร์ RTX 5070 Ti, Ryzen 9 9950X และ Chromium 156
  • พบว่าการเปิด bloom ที่ความเข้มศูนย์ยังคงสร้าง draw calls เพิ่มขึ้น 16 ครั้ง
  • ให้ข้อมูลช่วงเวลาแบบโปร่งใสแทนตารางตัวเลขตายตัว

การเปิดใช้งานเอฟเฟกต์ post-processing มักทำให้เบราว์เซอร์แสดงผลอยู่ที่ราว 60 เฟรมต่อวินาที แต่นั่นไม่ได้หมายความว่าภาระงานเบื้องหลังของการเรนเดอร์จะยังคงเดิม นักพัฒนา Alicia ได้ทำการทดสอบใหม่โดยรันหน้าเว็บสดถึง 192 ครั้ง ครอบคลุมฉากต่างๆ 3 ฉาก ทั้งเอฟเฟกต์ N8AO, bloom, tone mapping, ลำแสง volumetric, การสะท้อน และความละเอียดของ render-buffer เพื่อดูผลลัพธ์ที่แท้จริงนอกเหนือจากตัวเลข FPS ทั่วไป

ผลลัพธ์ที่มีประโยชน์ที่สุดชิ้นหนึ่งคือการควบคุมเชิงลบ (negative control) ซึ่งพบว่าเอฟเฟกต์ bloom ที่ตั้งค่าความเข้มเป็นศูนย์ให้ภาพ Reliquary ออกมาเหมือนกับการถอด bloom ออกไปเลยทุกประการ แต่กลับยังคงสร้าง draw calls เพิ่มขึ้นมาถึง 16 ครั้งโดยไม่จำเป็น นอกจากนี้ ผลลัพธ์ด้านเวลายังแสดงให้เห็นคำเตือนสำคัญว่า การรันซ้ำบนเดสก์ท็อปบางครั้งมีความแปรปรวนสูงกว่าผลกระทบเล็กน้อยที่พยายามวัดเสียอีก บทความนี้จึงรักษาช่วงความแปรปรวนเหล่านี้ไว้ให้มองเห็นได้ เพื่อเสนอการวัดผลที่ทำซ้ำได้จริงแทนที่จะเป็นตารางมิลลิวินาทีแบบครอบจักรวาล

Three.js graphics rendering code display workspace screen

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

จุดเริ่มต้นของการทดสอบอ้างอิงจากโปรเจกต์ Dioramas ที่คอมมิต 868539f โดยปรับแต่งหน้า Reliquary และ Kōen เพื่อตรึงกล้องตัวแรกและสถานะฉากไว้ ฉาก Reliquary มีพื้นผิวสะท้อนแสงและแสง volumetric ส่วน Kōen มีต้นบอนไซและฉากหลังที่สว่างจ้าแตกต่างกันอย่างสิ้นเชิง นอกจากนี้ยังมีฉากที่สามที่วางอินสแตนซ์ต้นไม้ Houdini 1,000 ต้นในฉาก WebGL แยกต่างหาก โดยยังคงสี vertex เชิงวินิจฉัยไว้ทั้งหมด

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

192การทดสอบหน้าเว็บสด
64เงื่อนไขการทดสอบ
11,520ตัวอย่าง GPU ที่ยอมรับ

สภาพแวดล้อมฮาร์ดแวร์ที่ใช้ในการทดสอบประกอบด้วยการ์ดจอ RTX 5070 Ti ที่มีหน่วยความจำ 16,303 MiB, โปรเซสเซอร์ Ryzen 9 9950X, ไดรเวอร์ NVIDIA 617.42 และ Windows บิิลด์ 26300.9711 ทำงานบนเบราว์เซอร์ Chromium 156 ผ่านแบ็กเนนด์ ANGLE's D3D11 WebGL2 โดยมีการพินเวอร์ชันของไลบรารี Three.js ไว้ที่ 0.186.1, postprocessing ที่ 6.39.5 และ n8ao ที่ 2.0.1 ในไฟล์ล็อก

การวิเคราะห์เพิ่มเติม: การทดสอบในลักษณะนี้นับว่ามีความสำคัญอย่างยิ่งสำหรับนักพัฒนาเว็บกราฟิกยุคใหม่ เนื่องจากไลบรารีอย่าง Three.js มีการเพิ่มฟีเจอร์ post-processing ที่ซับซ้อนขึ้นเรื่อยๆ การทราบต้นทุนที่แท้จริงของแต่ละเอฟเฟกต์ (เช่น Draw Calls ที่เพิ่มขึ้นแม้ปิดการใช้งานฟังก์ชันหลัก) ช่วยให้วิศวกรสามารถตัดสินใจปรับแต่งประสิทธิภาพบนเดสก์ท็อปและอุปกรณ์พกพาได้อย่างแม่นยำยิ่งขึ้น แทนที่จะคาดเดาจากอัตราเฟรมเรตเพียงอย่างเดียว

ชุดการทดสอบทั้งสามชุดมีจำนวนรวมกันถึง 92,160 เฟรม RAF ที่วัดผล และมีตัวอย่าง GPU ที่ผ่านการยอมรับ 11,520 ตัวอย่าง ครอบคลุม 64 เงื่อนไข โดยมีการรีโหลดซ้ำเงื่อนไขละ 3 ครั้ง ซึ่งการรีโหลดครั้งที่สองจะสลับลำดับเงื่อนไขย้อนกลับ และครั้งที่สามจะทำการหมุนลำดับใหม่ทั้งหมด เพื่อให้มั่นใจว่าข้อมูลที่ได้มีความน่าเชื่อถือและปราศจากข้อผิดพลาดจากการจับภาพเรนเดอร์

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้