มีความคิดมาสักพักแล้วว่าภาษาไทยไม่ค่อยมีบทความเรื่องการปรับภาพเกม บางคนเห็นไม่เข้าใจมีอะไรให้ปรับลากให้สุดไว้ก่อน แม้แต่ FOV
บทความชุดนี้ประกอบด้วย
- Anti-Aliasing
- VSync
- FOV
- อื่นๆ ที่ไม่ยาวพอ
Anti-Aliasing
ปกติภาษาไทยเราก็จะเรียกมันว่าลบรอยหยัก ก่อนอื่นอธิบายถึงทฤษฎีก่อนแล้วกันครับว่าทำไมเกมถึงมีรอยหยักตามขอบภาพ
สมมุติว่ามีเส้นตรงเส้นนึงที่เราจะแสดงผลบนจอ ทีนี้บนจอภาพเราน่าจะทราบดีว่าประกอบด้วยจุดพิกเซลต่างๆ
ถ้าเส้นนั้นมันตัดไม่เต็มจุดพิกเซลล่ะครับ… จะแสดงผลยังไง
วิธีที่คอมพิวเตอร์ใช้ตัดสินใจเรียกว่า Sampling ครับ วิธีการคือใน 1 pixel นั้นจะกำหนด 1 ตำแหน่งขึ้นมาเป็นตำแหน่งแทนพิกเซลนั้นๆ ถ้าจุดนั้นมีสีอะไร ก็ให้ทั้งพิกเซลนั้นมีสีนั้นไปด้วย
มองแบบนี้ก็เริ่มเห็นแล้วนะครับว่า เส้นมันไม่เป็นเส้นแล้ว เราจะแก้ไขปัญหาอย่างไรดี..?
SSAA
วิธีแรกง่ายมากครับ SSAA = Supersampling AA หรือบ้างก็เรียก FSAA = Full screen AA หลักการก็คือ render เกมให้ใหญ่กว่าจอของเรา แล้วย่อภาพลงมาให้พอดีจอ ทำให้ภาพที่ได้จะมีความคมชัดมาก
(ถ้าเล่นเกมบนจอ 4k แล้วเปิด 4x SSAA นี่แปลว่าเกมมันทำงานในความละเอียด 8k อยู่นะครับ!)
MSAA
ปัญหาคือ SSAA โคตรกินเครื่องเลยครับ ก็เลยมีคนคิดค้นวิธีอื่นๆ ขึ้นมาอีก
MSAA (Multisampled AA) เป็นวิธีคล้ายๆ กับ SSAA แต่ shader จะรันในความละเอียดเท่ากับความละเอียดแสดงผล ทำให้กินเครื่องน้อยลง
FXAA/MLAA
Fast Approximate AA เป็นวิธีฉลาดแกมโกงครับ โดยเอาภาพที่ render เสร็จแล้วมาหาขอบต่างๆ แล้วก็ blur ทิ้ง! ง่ายมั้ยล่ะ…
ข้อเสียคือเบลอแบบนี้ก็จะทำให้ texture เบลอไปด้วย
MFAA
ใน driver NVIDIA จะมีให้เปิด Multiframe Anti-Aliasing ครับ ซึ่งหลักการคือจะใช้จุดอ้างอิงหลายๆ จุดในเฟรมแล้วก็เฉลี่ยค่าสีกัน ปัญหาก็คือวิธีนี้มันก็คล้ายๆ SSAA ใช่มั้ยล่ะครับแล้วมันก็จะช้า
วิธีแก้ของ MFAA คือการใช้หลายๆ เฟรมเข้ามาอ้างอิงแทนครับ เฟรมแรกใช้จุดนึงอ้างอิงสี เฟรมถัดมาเปลี่ยนจุดแล้วเฉลี่ยไป ฉะนั้นก็จะทำให้ไม่กินเครื่อง
ข้อเสียของ MFAA คือถ้า framerate ไม่ถึง 40 ใช้ไม่ได้นะครับ และถ้าภาพเป็นภาพเคลื่อนไหวก็จะทำให้เกิด ghosting หรืออาการภาพค้างจางๆ
SMAA
Enhanced Subpixel Morphological หรือ SMAA เป็นเทคนิคใหม่จาก Crytek ครับ ปัจจุบันยังไม่เห็นเกมไหนรองรับ ถ้าจะใช้ต้องใช้ SweetFX หรือ injectSMAA
หลักการทำงานคล้ายๆ กับ FXAA คือเบลอขอบภาพ แต่วิธีการหาขอบจะใช้วิธีที่ใช้ตรวจการทำงานของ shader ใน MSAA ฉะนั้นแล้วจะทำให้ภาพมีคมชัด ไม่เบลอ texture มาก และกินเครื่องไม่มากไปกว่า FXAA เท่าไร
แบบไหนดี?
ปกติแล้วเกมจะมีให้เลือกปรับชนิดได้ 1-3 แบบนะครับ แล้วก็อาจจะมีตัวคูณไปอีก ตรงนี้ก็ปรับแล้วแต่ความชอบเลย แต่โดยทั่วไปแล้วนะครับ
- SSAA คมสุด กินเครื่องสุด
- MSAA
- SMAA ภาพดี กินเครื่องไม่เยอะ
- FXAA
อาจจะมีตัวอื่นๆ นอกเหนือจากนี้ อันนี้ลองหาข้อมูลเพิ่มเติมดูครับเพราะจะยกมาเฉพาะตัวที่สำคัญๆ เท่านั้น
Source
- MFAA (แนะนำให้ดูครับ อธิบาย AA ไว้ดีมาก)
- PCGamer: PC Graphics Options Explained
- Anti-Aliasing mode explained
- The Danger Zone: MSAA Overview
- PCGamingWiki Anti-Aliasing