ข้ามไปยังเนื้อหาหลัก
Doom 1.jpg

เจาะลึก DLSS 5 บน Doom 1: การนำ Neural Rendering มาใช้กับเกมยิงยุค 90

สัมผัสประสบการณ์ DLSS 5 ใน Doom 1 ผ่าน Doom 3 BFG Edition และ RBDOOM-3-BFG บน DX12 โดยใช้เทคนิคจำลอง Motion Vectors, RenoDX และไลบรารีจาก NVIDIA

เขียนโดย
Friolt
อัปเดต
เวลาที่ใช้ในการอ่าน
2 นาที
หัวข้อ
ข่าวสาร
ทำไม Doom ถึงต้องกลายเป็นเกม DX12 ก่อน
โฆษณา
# เจาะลึก DLSS 5 บน Doom 1: การนำ Neural Rendering มาใช้กับเกมยิงยุค 90

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 และโฟลเดอร์หลักของ BFGSteam หรือ GOG
RBDOOM-3-BFG 1.5.0 หรือใหม่กว่าแทนที่ OpenGL renderer ด้วย DX12ModDB หรือ GitHub
Motion vector bridgeสร้างข้อมูลเชิงเวลา (Temporal data) ที่ Doom ไม่เคยมีมาก่อนWorst Guides Ever file pack
ReShade พร้อมรองรับ Add-onใช้สำหรับ Inject ไฟล์อื่นๆreshade.me
RenoDX neural rendering addonเพิ่มพาเนลและแถบปรับค่า DLSS 5RenoDX project
NVIDIA neural rendering libraryตัวโมเดลหลักOfficial NVIDIA release
RTX 50 series GPUจ่ายค่าตอบแทนสำหรับเฟรมเรตที่ได้กระเป๋าเงินของคุณ

ขั้นตอนการติดตั้ง

  1. ติดตั้ง Doom 3 BFG Edition และเปิดเกมหนึ่งครั้งในเวอร์ชันปกติเพื่อให้โฟลเดอร์หลักถูกสร้างขึ้น
  2. แตกไฟล์ RBDOOM-3-BFG เวอร์ชันล่าสุดลงในโฟลเดอร์ BFG Edition และเปิดใช้งาน RBDoom3BFG.exe แทนไฟล์ .exe เดิม
  3. เพิ่ม +set r_graphicsAPI dx12 ใน Launch options หากตัวพอร์ตเลือกใช้ Vulkan โดยอัตโนมัติ
  4. เลือก The Ultimate Doom จากเมนูหลัก และยอมรับความจริงที่ว่าเกมจากปี 1993 กำลังรันอยู่บน DirectX 12
  5. คัดลอกไฟล์ Motion vector bridge ไปวางในโฟลเดอร์เดียวกับ RBDoom3BFG.exe
  6. รันตัวติดตั้ง ReShade กับ RBDoom3BFG.exe เลือก DirectX 12 และติ๊กเลือก Add-on support
  7. วางไฟล์ RenoDX addon และไฟล์ Neural rendering library ลงในโฟลเดอร์เดียวกัน
  8. เปิดเกม กดปุ่ม 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 pointOutput จะสร้างความเสียหายน้อยที่สุด ส่วน Render stage จะวาด Sprite ใหม่ด้วยความกระตือรือร้นเกินไป
Passes x1แทบไม่เปลี่ยนแปลงอะไรเลย เพราะ Sprite ให้ข้อมูลกับโมเดลน้อยเกินไป
Passes x2 to x4วาดใหม่ทั้งหมดและสุ่มตัวอย่างจากเฟรมเดียว ทำให้เกิดอาการหลอน (Hallucinations) มากขึ้น
PresetDefault จะติดโทนเขียว, 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 จริงๆ ล่ะก็ ใช้วิธีอื่นเถอะครับ

Friolt

เขียนโดย Friolt

นักเขียนรับเชิญ เผยแพร่เมื่อ .

ดูข่าวสารเพิ่มเติมจาก GAMES.GG บน Google

เพิ่มเราเป็นแหล่งข้อมูลที่คุณชื่นชอบ แล้ว เรื่องราว ของเราจะแสดงเป็นอันดับแรกในผลการค้นหาของคุณ

อ่านต่อ

Doom Slayer บุก Call of Duty Black Ops 7 Season 6

Call of Duty Black Ops 7 Season 6 มาแล้ว! พบกับอีเวนต์ The Haunting, อาวุธใหม่ 4 ชนิด, แผนที่ใหม่ และอีเวนต์พาสพิเศษจาก Doom

Fair Work Ombudsman ของออสเตรเลียแนะวิธีลาหยุดเพื่อเล่น GTA 6

Fair Work Ombudsman ของออสเตรเลียเผยแพร่คำแนะนำบน Instagram เกี่ยวกับการขอลาหยุดโดยไม่รับค่าจ้างเพื่อรอเล่น GTA 6 อย่างถูกต้องและเป็นทางการ

Xbox เปิดตัว XP แผนกไลเซนส์ใหม่ พร้อมแต่งตั้งอดีตผู้บริหาร Meta นั่งแท่น CEO Mojang

Xbox เปิดตัว XP ดูแลด้านลิขสิทธิ์สื่อ สินค้า และอีเวนต์ พร้อมต้อนรับ CEO คนใหม่ของ Mojang ที่มีประสบการณ์จาก Meta และ Reddit

โฆษณา