เจาะประเด็น
GPU / MODS
RTX 20-Series รัน DLSS Frame Generation ได้แล้ว ผ่านมือม็อดเดอร์ ไม่ใช่ผ่าน NVIDIA
การ์ดที่บริษัทบอกว่า "ไม่รองรับ" กลับทำงานได้ เมื่อมีคนแก้โค้ดให้มันอ่านการ์ดตัวเองผิดรุ่น
ทีมข่าว เอไอไทย.com
⏱ อ่าน 4 นาที
ถ้าไลน์อัปการ์ดที่บริษัทลากไว้มันคือกำแพงการตลาด ไม่ใช่กำแพงฮาร์ดแวร์ คำถามคือแล้วเราแบกการ์ดเก่าไว้ทำไม
หลังจากที่ม็อดเดอร์เพิ่งเปิดทางให้ DLSS 5 ทำงานบนการ์ด NVIDIA รุ่นเก่าได้ไม่นาน ตอนนี้สายตาก็เลื่อนไปที่ Frame Generation ต่อ มีรายงานว่าม็อดเดอร์คนหนึ่งสามารถทำให้ DLSS Frame Generation ของ NVIDIA เอง รันบนการ์ด GeForce RTX 20-series ได้สำเร็จ ซึ่งเป็นสิ่งที่ NVIDIA ไม่เคยรองรับอย่างเป็นทางการมาก่อน
การทดสอบทำบน RTX 2060 Max-Q ในเกม The Witcher 3 เวอร์ชัน next-gen update ที่ใช้ DirectX 12 โดยสลับสวิตช์ Frame Generation ในเกมให้เปิดได้ และสังเกตเห็นเฟรมเรตที่ดีขึ้นจริง นี่คือจุดที่ต้องพูดให้ชัด เพราะมันไม่ใช่การเปิดฟีเจอร์ที่ซ่อนไว้แล้วรอวันปลดล็อก แต่มันคือการดัดแปลงโค้ดให้ของที่ออกแบบมาสำหรับสถาปัตยกรรมใหม่ ทำงานบนสถาปัตยกรรมเก่าได้
ก่อนจะไปดูว่าเขาทำได้ยังไง ต้องเข้าใจก่อนว่า NVIDIA ลากเส้นแบ่งไว้แบบนี้ — DLSS Multi Frame Generation (MFG) รองรับเฉพาะการ์ด RTX 50-series เท่านั้น ส่วน Frame Generation แบบธรรมดาจำกัดอยู่ที่ RTX 40-series ขึ้นไป สังเกตว่า MFG กับ FG ถูกแยกกันคนละขั้นบันได และ RTX 20-series ถูกจัดให้อยู่ต่ำกว่าเส้นทั้งสองเส้นมาตลอด
ฟีเจอร์นี้ไม่ใช่ของใหม่สำหรับวงการม็อด เพราะก่อนหน้านี้มีโปรเจกต์ที่พา DLSS Frame Generation ไปสู่การ์ด RTX 30-series ได้แล้ว และโปรเจกต์นั้นก็ถูกต่อยอดมาสู่รุ่นก่อนหน้าอีกขั้น คราวนี้พุ่งเป้าไปที่สถาปัตยกรรม Turing หรือ SM75 ของ RTX 20-series โดยตรง
ม็อด RTX 20 และ RTX 30 ก่อนหน้านี้ใช้วิธีอ้อม — เปลี่ยนเส้นทางให้คำสั่ง DLSS Frame Generation วิ่งผ่านไปป์ไลน์ของ FSR 3 จากฝั่ง AMD แทน แต่ตัวใหม่นี้ไม่ทำแบบนั้น มันรัน nvngx_dlssg 310.1 runtime ของ NVIDIA เองเต็มๆ
วิธีที่มันทำคือสลับ GPU kernel ตัวเดิมออก แล้วใส่เวอร์ชันที่คอมไพล์มาเพื่อ SM75 โดยเฉพาะ พร้อมกับแก้การตรวจสอบสถาปัตยกรรม ให้ runtime มองเห็นการ์ด Turing ว่าเป็น Ada Lovelace เพื่อให้มันยอม initialize ทำงานได้ นี่คือการหลอกระบบในระดับที่ runtime เชื่อว่ากำลังคุยอยู่กับการ์ดคนละรุ่น
ตรงนี้แหละที่ทำให้เรื่องนี้น่าสนใจกว่าม็อดทั่วไป เพราะมันพิสูจน์ว่า อย่างน้อยในกรณีนี้ ตัว runtime ไม่ได้ตรวจว่า "การ์ดคุณมีความสามารถพอไหม" แต่มันตรวจว่า "การ์ดคุณชื่อรุ่นอะไร" แล้วค่อยตัดสินใจ ถ้าการ์ดชื่อไม่ตรงกับที่มันคาดหวัง มันก็ไม่ยอมทำงาน ทั้งที่โค้ดที่คอมไพล์สำหรับ SM75 ก็รันได้
พูดอีกแบบคือ กำแพงที่กั้น RTX 20-series กับ Frame Generation อาจไม่ใช่กำแพงฮาร์ดแวร์ล้วนๆ อย่างที่หลายคนเข้าใจ แต่เป็นกำแพงที่สร้างจากเงื่อนไขซอฟต์แวร์ ซึ่งแก้ได้ด้วยการแก้เช็คไม่กี่จุด
แน่นอนว่านี่ไม่ใช่หลักฐานว่า NVIDIA "จงใจ" ล็อกฟีเจอร์ไว้ขายการ์ดใหม่ — บริษัทมีเหตุผลด้านประสิทธิภาพ ต้นทุนการทดสอบ และการรับประกันประสบการณ์ที่ต้องดูแลอยู่ แต่ในมุมของผู้ใช้ที่ถือการ์ด RTX 20-series อยู่ ข้อเท็จจริงที่ว่ามีคนแก้ไม่กี่บรรทัดแล้วมันรันได้ ก็เพียงพอจะทำให้รู้สึกว่าการ์ดตัวเองยังมีชีวิตอยู่ ไม่ได้ตายตามที่บริษัทบอก
เรื่องนี้ตอกย้ำว่าเส้นแบ่งรุ่นของการ์ดจอสมัยนี้ ไม่ได้ถูกกำหนดด้วยทรานซิสเตอร์อย่างเดียว แต่กำหนดด้วยโค้ดที่เช็คชื่อรุ่นด้วย — และตราบใดที่ยังมีคนแก้โค้ดได้ กำแพงนั้นก็ไม่เคยสูงเท่าที่โฆษณาไว้
ที่มา: TechPowerUp — อ่านต้นฉบับ
ความคิดเห็น 5
กำลังโหลดความคิดเห็น...