Doom 1 จะรองรับ DLSS 5 ได้ก็ต่อเมื่อคุณลากมันเข้าสู่ DirectX 12 ผ่านทาง Doom 3 BFG Edition และซอร์สพอร์ต (Source Port) อย่าง RBDOOM-3-BFG จากนั้นต้องป้อนข้อมูล External motion vectors, ติดตั้ง ReShade ร่วมกับ RenoDX และใส่ไฟล์ไลบรารี Neural rendering อย่างเป็นทางการของ NVIDIA ลงไป บนเครื่อง RTX 5090 mobile ที่จับคู่กับ Core Ultra 9 275HX สิ่งที่คุณจะได้รับคือเฟรมเรตที่เพิ่มขึ้นมาประมาณ 10 fps พร้อมกับเหล่า Imp ที่มีใบหน้าเปลี่ยนไปทุกเฟรม
คำตอบแบบตรงไปตรงมาสำหรับคำถามที่ว่า จะรัน DLSS 5 บน Doom ได้อย่างไร คือการใช้ซอฟต์แวร์สามชั้นมาหลอกล่อกันไปมาจนกว่าตัวโมเดลจะเชื่อว่ามันกำลังประมวลผลเกมสมัยใหม่อยู่ ตัวเกม DOS Doom ดั้งเดิมนั้นไม่มี DirectX เลย ดังนั้นจึงไม่มีอะไรเข้าไป Hook (เชื่อมต่อ) กับตัวเกมได้จนกว่าจะมีพอร์ตที่เพิ่มฟีเจอร์นี้เข้ามา
ทำไม Doom ถึงต้องกลายเป็นเกม DX12 ก่อน
Neural pass จะเชื่อมต่อผ่าน RenoDX ซึ่งทำงานบน ReShade hooks สำหรับ DirectX 11 และ 12 โดยปกติแล้วเส้นทางสำหรับเกม DOS คือการใช้ dgVoodoo ครอบบน DOSBox เพื่อจำลอง DX11 แต่ Doom เลือกใช้เส้นทางที่หรูหรากว่านั้น นั่นคือการใช้ Doom 1 DX12 renderer แบบ Native เพราะทาง id Software ได้รวมตัวเกมต้นฉบับไว้ในเวอร์ชันวางจำหน่ายใหม่เมื่อปี 2012 แล้ว
ชุดบันเดิล Doom 3 BFG Edition มาพร้อมกับ The Ultimate Doom และ Doom II ที่รวมอยู่ใน Doom 3 โดยในเวอร์ชัน 1.5.0 ได้เปลี่ยนจาก OpenGL มาเป็น DX12 และ Vulkan ผ่านทาง NVIDIA NVRHI ดังนั้นตัว RBDOOM-3-BFG DX12 backend จึงสามารถเรนเดอร์เกมคลาสสิกเหล่านี้ได้ด้วย โดยไม่ต้องพึ่งพา Wrapper, DOSBox หรือลายน้ำจาก dgVoodoo แต่อย่างใด
สิ่งที่คุณต้องเตรียม
| ส่วนประกอบ | หน้าที่ | แหล่งที่มา |
|---|---|---|
| Doom 3 BFG Edition | ให้ข้อมูลตัวเกม Doom 1 และโฟลเดอร์หลักของ BFG | Steam หรือ GOG |
| RBDOOM-3-BFG 1.5.0 หรือใหม่กว่า | แทนที่ OpenGL renderer ด้วย DX12 | ModDB หรือ GitHub |
| Motion vector bridge | สร้างข้อมูลเชิงเวลา (Temporal data) ที่ Doom ไม่เคยมีมาก่อน | Worst Guides Ever file pack |
| ReShade พร้อมรองรับ Add-on | ใช้สำหรับ Inject ไฟล์อื่นๆ | reshade.me |
| RenoDX neural rendering addon | เพิ่มพาเนลและแถบปรับค่า DLSS 5 | RenoDX project |
| NVIDIA neural rendering library | ตัวโมเดลหลัก | Official NVIDIA release |
| RTX 50 series GPU | จ่ายค่าตอบแทนสำหรับเฟรมเรตที่ได้ | กระเป๋าเงินของคุณ |
ขั้นตอนการติดตั้ง
- ติดตั้ง Doom 3 BFG Edition และเปิดเกมหนึ่งครั้งในเวอร์ชันปกติเพื่อให้โฟลเดอร์หลักถูกสร้างขึ้น
- แตกไฟล์ RBDOOM-3-BFG เวอร์ชันล่าสุดลงในโฟลเดอร์ BFG Edition และเปิดใช้งาน RBDoom3BFG.exe แทนไฟล์ .exe เดิม
- เพิ่ม +set r_graphicsAPI dx12 ใน Launch options หากตัวพอร์ตเลือกใช้ Vulkan โดยอัตโนมัติ
- เลือก The Ultimate Doom จากเมนูหลัก และยอมรับความจริงที่ว่าเกมจากปี 1993 กำลังรันอยู่บน DirectX 12
- คัดลอกไฟล์ Motion vector bridge ไปวางในโฟลเดอร์เดียวกับ RBDoom3BFG.exe
- รันตัวติดตั้ง ReShade กับ RBDoom3BFG.exe เลือก DirectX 12 และติ๊กเลือก Add-on support
- วางไฟล์ RenoDX addon และไฟล์ Neural rendering library ลงในโฟลเดอร์เดียวกัน
- เปิดเกม กดปุ่ม Home เปิดแท็บ Add-ons และเปิดใช้งานพาเนล DLSS 5 Neural Rendering
สำหรับ DirectX เวอร์ชันอื่นๆ รวมถึงเส้นทางผ่าน DOSBox และ dgVoodoo ที่พอร์ตนี้ช่วยให้คุณข้ามไปได้นั้น สามารถดูรายละเอียดได้ใน คำแนะนำการตั้งค่า DLSS 5 ฉบับเต็ม
Motion Vectors ที่ Doom ไม่เคยมี
Doom คลาสสิกจะวาดภาพแบบ Software framebuffer ขนาด 320×200 แล้วขยายให้เต็มหน้าจอของคุณ ซึ่งมันไม่ได้สร้างข้อมูลการเคลื่อนไหวต่อพิกเซล (Per-pixel motion data) ออกมาเลย ดังนั้น DLSS 5 motion vectors จึงมาจากไฟล์ Bridge ทั้งหมด ซึ่งเป็นการคาดเดาว่าพิกเซลเคลื่อนที่อย่างไรระหว่างเฟรม การเดาหมายถึงการเกิด Ghosting (ภาพซ้อน) เวลาหันหน้าจอเร็วๆ และ Doom ก็มีแต่การหันหน้าจอเร็วๆ ตลอดทั้งเกม
ไลบรารีและ Addon
ตัวโมเดลจะอยู่ในไฟล์ nvngx_dlssnr.dll โดย NVIDIA ได้ปล่อย DLSS 5 อย่างเป็นทางการเมื่อวันที่ 3 กันยายน พร้อมกับเกม NBA 2K27 และไฟล์นี้จะมาพร้อมกับแพ็กเกจไดรเวอร์ Game Ready ให้ใช้ไฟล์จากแหล่งนี้เท่านั้น อย่าไปใช้ไฟล์จากแหล่งอื่นที่คนแปลกหน้าเปลี่ยนชื่อไฟล์เมื่อวันอังคารที่ผ่านมา
พาเนล RenoDX DLSS 5 คือจุดที่ Doom จะเปลี่ยนไปจนจำไม่ได้ นี่คือการตั้งค่าที่สำคัญ:
| การตั้งค่า | ผลลัพธ์ที่มีต่อ Doom |
|---|---|
| Injection point | Output จะสร้างความเสียหายน้อยที่สุด ส่วน Render stage จะวาด Sprite ใหม่ด้วยความกระตือรือร้นเกินไป |
| Passes x1 | แทบไม่เปลี่ยนแปลงอะไรเลย เพราะ Sprite ให้ข้อมูลกับโมเดลน้อยเกินไป |
| Passes x2 to x4 | วาดใหม่ทั้งหมดและสุ่มตัวอย่างจากเฟรมเดียว ทำให้เกิดอาการหลอน (Hallucinations) มากขึ้น |
| Preset | Default จะติดโทนเขียว, Natural ติดโทนฟ้า, Cinematic ติดโทนม่วงเมื่อปรับค่าสูง |
| NR Intensity | ใช้สำหรับเปรียบเทียบแทนการเปิด/ปิด |
| F6 | เปิด/ปิดเอฟเฟกต์ และทำให้ VRAM รั่วประมาณ 1 GB ต่อการกดหนึ่งครั้ง |
สิ่งที่เกิดขึ้นจริง
ในการทดสอบช่วงแรก Doom 2 ที่ค่า x1 ดูเหมือนไม่มีอะไรเปลี่ยนแปลง แต่ที่ x2 ถึง x4 มันกลับกลายเป็นอีกเกมไปเลย Doom 1 ก็ใช้ Engine เดียวกันและแสดงผลในลักษณะเดียวกัน Sprite เป็นเพียงภาพแบนๆ ในขณะที่โมเดลคาดหวังความเป็นเรขาคณิต (Geometry) ดังนั้นในจุดที่รายละเอียดหายไป มันจึงสร้างใบหน้าขึ้นมาใหม่เอง
บทสรุปของ DLSS 5 กับเกมเก่า ยังคงดูมืดมน เกมระดับ DX11 จะพังทันทีแม้จะเชื่อมต่อ Vector ได้ถูกต้องครบถ้วน และ Doom รอดมาได้เพียงเพราะ RBDOOM มอบเส้นทาง DX12 ของจริงให้ แต่มันก็ยังขาดข้อมูลประวัติเฟรม (Frame history) ที่ DLSS Pipeline ปกติควรจะมี
ประสิทธิภาพ
| โหมด | ผลลัพธ์บน RTX 5090 Mobile + Core Ultra 9 275HX |
|---|---|
| Native port, ไม่ใช้ Neural pass | หลายร้อย fps ตามมาตรฐานเกมปี 1993 |
| DLSS 5, x1, output injection | ประมาณ 10 fps สำหรับการเปลี่ยนแปลงที่แทบมองไม่เห็น |
| DLSS 5, x2 to x4, render stage | ประมาณ 10 fps หรือแย่กว่านั้น เพื่อการวาดภาพใหม่ทั้งหมด |
การกินสเปกของ DLSS 5 ในกรณีนี้ไม่ได้เกี่ยวกับตัวเกม Doom แต่เกี่ยวกับตัวโมเดล ซึ่งใช้ทรัพยากรเท่ากันทั้งใน Wolfenstein 3D และ Cyberpunk 2077 ใครที่กำลังทดสอบเรื่องนี้บน แล็ปท็อป RTX 5090 ควรเสียบปลั๊กไว้ตลอดเวลา เพราะแบตเตอรี่ของคุณจะไม่รอดจากการทดลองนี้แน่นอน
การแก้ไขปัญหาเบื้องต้น
- พาเนลไม่ปรากฏขึ้นเมื่อติดตั้ง ReShade สำหรับ Vulkan ให้ติดตั้งใหม่สำหรับ DirectX 12
- เอฟเฟกต์เป็นสีเทา (กดไม่ได้) ในขณะที่เปิด Anti-aliasing ในเกม ให้ปิดการตั้งค่านี้ใน RBDOOM
- ภาพสั่นไหวเมื่อติ๊ก Enable Upscaling ให้เอาเครื่องหมายถูกออก
- เกมค้างหลังจากกดเปิด/ปิดซ้ำๆ เนื่องจาก VRAM รั่ว ให้รีสตาร์ทเกมและใช้แถบเลื่อน Intensity แทน
- ไม่มีอะไรเปลี่ยนแปลงเลยที่ค่า x1 บน Output นี่เป็นพฤติกรรมปกติ ไม่ใช่บั๊ก
บทสรุป
มันใช้งานได้ แต่มันดูแย่ และกินเฟรมเรตไปถึง 95 เปอร์เซ็นต์ ในฐานะ Tech Demo ที่แสดงให้เห็นว่าโมเดลที่ยังไม่ได้รับการฝึกฝนมาอย่างดีทำอะไรกับ Pixel art ได้บ้าง Doom 1 ถือว่าสมบูรณ์แบบ แต่ถ้าจะเอาไว้เล่น Doom จริงๆ ล่ะก็ ใช้วิธีอื่นเถอะครับ




