เจาะประเด็น
GPU / Graphics
AMD โชว์เทคนิค Ray Tracing ใหม่ ลดแรมการ์ดจอได้ถึง 47 เท่า
เทคนิคที่ชื่อว่า tetrahedral cages อาจเปลี่ยนวิธีที่เกมเรนเดอร์ต้นไม้ใบหญ้าทั้งป่า โดยไม่ต้องเผาแรมการ์ดจอทิ้งอีกต่อไป
ทีมข่าว เอไอไทย.com
⏱ อ่าน 4 นาที
ถ้าเทคนิคนี้ลงเกมจริงเมื่อไหร่ ป่าทึบในเกม AAA อาจเลิกเป็นศัตรูของแรมการ์ดจอไปตลอดกาล
ถ้าคุณเคยสงสัยว่าทำไมฉากป่าในเกมถึงกินแรมการ์ดจอหนักขนาดนั้น AMD เพิ่งออกมาเฉลยคำตอบ และโชว์ทางแก้ที่ตัวเลขมันเหลือเชื่อจนต้องอ่านซ้ำ เรื่องนี้มาจากบล็อกโพสต์บนเว็บ GPUOpen สำหรับนักพัฒนาโดยตรง ไม่ใช่ข่าวการตลาดทั่วไป
เทคนิคที่ว่านี้ชื่อ tetrahedral cages เป็นวิธีทำ ray tracing แบบใหม่ที่ AMD การันตีว่าลดการใช้หน่วยความจำของ BVH (โครงสร้างข้อมูลที่ ray tracing ใช้หาการชนของแสงกับวัตถุ) ได้ประมาณ 47 เท่า พร้อมกับเร่งความเร็วในการอัปเดต BVH ขึ้นอีกราว 90 เท่า ตัวเลขสองตัวนี้ไม่ใช่การวัดในห้องแล็บเปล่าๆ แต่มาจากเดโมจริงที่ AMD เปิดโชว์
AMD สาธิตเทคนิคนี้บนฉากขนาดใหญ่ที่มีต้นไม้เคลื่อนไหวอิสระประมาณ 25,000 ต้น รันได้ที่ 60+ FPS บนความละเอียด 1080p ด้วยการ์ด Radeon RX 9070 XT ฟังดูอาจไม่หวือหวาสำหรับคนที่เล่นเกมทั่วไป แต่ถ้ารู้ว่าปกติฉากแบบเดียวกันนี้ต้องใช้แรมการ์ดจอถึง 80 GB และใช้เวลาอัปเดต BVH มากกว่า 300 มิลลิวินาทีต่อเฟรม จะเข้าใจทันทีว่านี่คือความต่างระดับคนละโลก
พอมาใช้ tetrahedral cages ตัวเลขแรมที่ต้องใช้ลดลงเหลือแค่ประมาณ 1.7 GB และเวลาอัปเดตต่อเฟรมเหลือราว 3.3 มิลลิวินาที ลองเทียบดูเล่นๆ ว่าจาก 80 GB เหลือ 1.7 GB มันไม่ใช่การปรับปรุงเล็กๆ น้อยๆ แต่เป็นการรื้อวิธีคิดใหม่ทั้งระบบ
หัวใจของเทคนิคนี้คือการไม่ไปแอนิเมตตัว mesh หนาๆ โดยตรง แต่ AMD เอากรง deformable ที่เรียบง่ายกว่ามาครอบมันไว้ แล้วปล่อยให้ geometry หนาๆ กับ BVH ของมันอยู่นิ่งและใช้ซ้ำได้ มีแค่กรงเท่านั้นที่ต้องแอนิเมตใหม่ทุกเฟรม ผลก็คือต้นทุนการอัปเดตจะขึ้นอยู่กับความซับซ้อนของกรง ไม่ใช่จำนวนสามเหลี่ยมของโมเดล ซึ่งเป็นจุดที่ทำให้ตัวเลขมันต่างกันมหาศาล
แน่นอนว่ามันมีข้อแลกเปลี่ยน นั่นคือคุณจะเสียการควบคุมการแอนิเมตแบบรายจุดยอด (per-vertex) ไป ซึ่งก็เป็นเหตุผลที่ AMD วางตำแหน่งเทคนิคนี้ไว้สำหรับหญ้า ใบไม้ และวัตถุหนาแน่นอื่นๆ ที่ไม่ได้ต้องการรายละเอียดเฉพาะตัวระดับจุดยอด ใครที่คิดว่าจะเอาไปใช้กับตัวละครหลักที่ต้องขยับกล้ามเนื้อทุกมัดคงต้องรอไปก่อน
อีกจุดที่น่าสนใจคือ AMD บอกว่าเทคนิคนี้สามารถใช้ร่วมกับ DirectX ray tracing ของ Microsoft ได้ด้วย แปลว่าไม่ได้เป็นการล็อกให้ต้องใช้เทคโนโลยีเฉพาะของ AMD อย่างเดียว ซึ่งถ้ามันกลายเป็นมาตรฐานที่นักพัฒนาหยิบไปใช้กันจริง ก็น่าจะช่วยให้การพัฒนาเกมข้ามแพลตฟอร์มง่ายขึ้นด้วย
ลดแรม 47 เท่า
จากที่ปกติต้องใช้ถึง 80 GB เหลือเพียง 1.7 GB ในฉากเดโมเดียวกัน
อัปเดตเร็วขึ้น 90 เท่า
เวลาอัปเดต BVH ต่อเฟรมลดจากกว่า 300 มิลลิวินาที เหลือราว 3.3 มิลลิวินาที
ข้อแลกเปลี่ยนที่ต้องรู้
เสียการควบคุมการแอนิเมตรายจุดยอด จึงเหมาะกับหญ้า ใบไม้ และวัตถุหนาแน่นที่ไม่ต้องการรายละเอียดเฉพาะตัว
แต่ต้องพูดตรงๆ ว่าตอนนี้มันยังเป็นแค่ research showcase ยังไม่มีคำตอบว่ามันจะได้ลงเกมจริงเมื่อไหร่ หรือจะได้ลงเลยหรือเปล่า ซึ่งตรงนี้แหละคือจุดที่คนเล่นเกมควรตั้งสติไว้ก่อน อย่าเพิ่งไปฝันว่าปีหน้าจะได้เล่นเกมที่ต้นไม้แสนต้นวิ่ง 60 FPS บนการ์ดจอกลางๆ เพราะอะไรที่อยู่ในห้องวิจัยก็มักใช้เวลาอีกหลายปีกว่าจะกลายเป็นซอฟต์แวร์ที่นักพัฒนาเรียกใช้ได้จริง
ตัวเลข 47 เท่าและ 90 เท่าฟังดูเหลือเชื่อจนต้องหยีตาดู แต่ข้อจำกัดเรื่องการเสีย per-vertex control ก็หมายความว่ามันไม่ใช่ยาวิเศษที่แก้ได้ทุกฉาก ยังต้องรอดูว่าทาง AMD จะดันเทคนิคนี้เข้า pipeline ของนักพัฒนาเกมจริงได้แค่ไหน และที่สำคัญคือตอนนี้ยังไม่มีเกมไหนประกาศว่าจะใช้มัน
ที่มา: TechPowerUp — อ่านต้นฉบับ
ความคิดเห็น 6
กำลังโหลดความคิดเห็น...