ชุมชนกราฟิกส์ถกเถียงเทคนิค Anti-Aliasing แบบดั้งเดิมกับโซลูชันเทมโพรัลสมัยใหม่

ทีมชุมชน BigGo
ชุมชนกราฟิกส์ถกเถียงเทคนิค Anti-Aliasing แบบดั้งเดิมกับโซลูชันเทมโพรัลสมัยใหม่

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

Anti-Aliasing แบบดั้งเดิมกลับมาได้รับความนิยม

Multi-Sample Anti-Aliasing ( MSAA ) และ Super-Sample Anti-Aliasing ( SSAA ) กำลังได้รับความสนใจใหม่จากผู้ที่ชื่นชอบกราฟิกส์ เทคนิคเก่าเหล่านี้ทำงานโดยการสุ่มตัวอย่างหลายครั้งต่อพิกเซลภายในเฟรมเดียว จากนั้นรวมกันเพื่อลดขอบหยัก SSAA ไปไกลกว่านั้นโดยการเรนเดอร์ฉากทั้งหมดที่ความละเอียดสูงกว่าก่อนที่จะย่อขนาดลง

สมาชิกในชุมชนโต้แย้งว่าวิธีการแบบดั้งเดิมเหล่านี้ให้คุณภาพภาพที่เหนือกว่าเพราะพวกมันเพิ่มเนื้อหาข้อมูลจริงของแต่ละพิกเซล ต่างจากแนวทางสมัยใหม่ที่อาศัยข้อมูลจากหลายเฟรม anti-aliasing แบบดั้งเดิมให้ผลลัพธ์ที่สมบูรณ์แบบสำหรับแต่ละเฟรม นักพัฒนาบางคนรายงานความสำเร็จในการเล่นเกมด้วยการตั้งค่าสุดขีดเช่น 8x SSAA ซึ่งสุ่มตัวอย่างแต่ละพิกเซล 64 ครั้ง สร้างภาพที่ปราศจากสิ่งผิดปกติเกือบสมบูรณ์

MSAA: Multi-Sample Anti-Aliasing - สุ่มตัวอย่างขอบพิกเซลหลายครั้งSSAA: Super-Sample Anti-Aliasing - เรนเดอร์ที่ความละเอียดสูงกว่าแล้วย่อขนาดลง

การเปรียบเทียบ Anti-Aliasing

วิธีการ จำนวนตัวอย่างต่อพิกเซล การพึ่งพาเฟรม ต้นทุนการประมวลผล คุณภาพภาพ
MSAA 4x 4 ตัวอย่าง เฟรมเดียว ปานกลาง คุณภาพขอบสูง
SSAA 4x ความละเอียดเต็ม 4 เท่า เฟรมเดียว สูงมาก ยอดเยี่ยมโดยรวม
TAA ผันแปร หลายเฟรม ต่ำ ดีแต่มีสิ่งแปลกปลอม
ไม่มี AA 1 ตัวอย่าง เฟรมเดียว ต่ำสุด ขอบหยัก

ปัญหาของ Temporal Anti-Aliasing

Temporal Anti-Aliasing ( TAA ) ได้กลายเป็นมาตรฐานของอุตสาหกรรมเพราะใช้การคำนวณน้อยกว่าและสามารถจัดการกับสิ่งผิดปกติทางภาพได้หลายประเภท อย่างไรก็ตาม ผู้ใช้หลายคนร้องเรียนเกี่ยวกับผลข้างเคียงของมัน โดยเฉพาะลักษณะที่เบลอและเลอะเทอะที่มันสามารถสร้างขึ้นได้ TAA ทำงานโดยการรวมข้อมูลจากหลายเฟรมที่ต่อเนื่องกัน ซึ่งสามารถนำไปสู่สิ่งผิดปกติแบบ ghosting และ motion blur

บางครั้งสิ่งผิดปกติของ TAA รบกวนมากจนฉันปิด AA ทั้งหมดและถือว่าเป็นการปรับปรุง

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

*TAA: Temporal Anti-Aliasing - ใช้ข้อมูลจากหลายเฟรมเพื่อลดสิ่งผิดปกติ

ความท้าทายทางเทคนิคและการเรนเดอร์สมัยใหม่

การเปลี่ยนจาก anti-aliasing แบบดั้งเดิมไม่ใช่เรื่องที่เกิดขึ้นโดยไม่มีเหตุผล เกมสมัยใหม่ใช้ไปป์ไลน์การเรนเดอร์แบบ deferred ที่ทำให้ MSAA ซับซ้อนกว่าในการนำไปใช้ การเรนเดอร์แบบ deferred ประมวลผลการคำนวณแสงหลังจากการผ่าน geometry เริ่มต้น ซึ่งทำให้กระบวนการ multi-sampling ที่ MSAA อาศัยซับซ้อนขึ้น

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

แนวทางการเรนเดอร์แบบ Forward+ กำลังถูกพิจารณาใหม่เป็นวิธีการนำ MSAA ที่มีประสิทธิภาพกลับมา นักพัฒนา VR บางคนได้กลับไปใช้การเรนเดอร์แบบ forward โดยเฉพาะเพื่อใช้ประโยชน์จากตัวเลือก anti-aliasing ที่ดีกว่าและประสิทธิภาพที่ปรับปรุงแล้ว

ความเข้ากันได้ของ Rendering Pipeline

  • Forward Rendering: รองรับ MSAA อย่างเต็มรูปแบบ การใช้งานง่ายกว่า
  • Deferred Rendering: การใช้งาน MSAA ที่ซับซ้อน ต้องการขั้นตอนเพิ่มเติม
  • Forward+ Rendering: รองรับ MSAA ได้ดีพร้อมฟีเจอร์แสงสว่างสมัยใหม่
  • Hybrid Approaches: ความเข้ากันได้แบบผสมผสานขึ้นอยู่กับเอฟเฟกต์เฉพาะ

การแลกเปลี่ยนระหว่างประสิทธิภาพกับคุณภาพ

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

อย่างไรก็ตาม ทางเลือกไม่ได้ชัดเจนเสมอไป ในขณะที่วิธีการแบบดั้งเดิมเก่งในการกำจัด spatial aliasing พวกมันไม่สามารถจัดการกับการกระพริบเทมโพรัลที่เกิดขึ้นเมื่อรายละเอียดปลีกย่อยปรากฏและหายไประหว่างเฟรม aliasing บางประเภทเป็นเทมโพรัลโดยธรรมชาติและต้องการโซลูชันหลายเฟรมเพื่อแก้ไขอย่างเหมาะสม

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

อ้างอิง: Ten Years of 9/30/12