VKD3D-Proton เป็นทางแยกของ VKD3D ซึ่งมีจุดมุ่งหมายเพื่อใช้งาน Direct3D 12 API แบบเต็มบน Vulkan
Valve ประกาศเมื่อไม่กี่วันที่ผ่านมาว่า การเปิดตัว VKD3D-Proton 2.10 เวอร์ชันใหม่ซึ่งเป็นเวอร์ชันที่เน้นการรวม DirectStorage MetaCommands การปรับปรุงการสนับสนุน ตลอดจนชุดการแก้ไขข้อบกพร่องและวิธีแก้ไขปัญหา
สำหรับใครที่ยังไม่รู้จัก VKD3D-Proton ควรรู้ไว้ รองรับการเปลี่ยนแปลง การปรับแต่ง และการปรับปรุงเฉพาะโปรตอนเพื่อประสิทธิภาพที่ดีขึ้นของเกม Windows ที่ใช้ Direct3D 12ซึ่งยังไม่ได้รับการยอมรับในส่วนหลักของ vkd3d ท่ามกลางความแตกต่างนั้น ยังเน้นที่การใช้ส่วนขยาย Vulkan ที่ทันสมัยและความสามารถของไดรเวอร์กราฟิกรุ่นล่าสุดเพื่อให้เข้ากันได้กับ Direct3D 12 อย่างสมบูรณ์
เช่นนี้ Valve ใช้ทางแยกที่ระบุในแพ็คเกจที่ใช้ไวน์ เพื่อเรียกใช้เกม Windows Proton การสนับสนุน DirectX 9/10/11 ใน Proton นั้นขึ้นอยู่กับแพ็คเกจ DXVK และการใช้งาน DirectX 12 นั้นขึ้นอยู่กับไลบรารี vkd3d (หลังจากผู้เขียน vkd3d เสียชีวิต CodeWeavers ยังคงพัฒนาส่วนประกอบนี้และชุมชนไวน์ต่อไป)
นวัตกรรมหลักของ VKD3D-Proton 2.10
ด้านหนึ่งที่โดดเด่นใน VKD3D-Proton 2.10 เวอร์ชันใหม่ก็คือ DirectStorage API ที่ตอนนี้มี lการใช้งานอัลกอริธึมการบีบอัด Deflate ที่ใช้โดยส่วนขยาย NV_memory_การบีบอัด (อนุญาตให้ GPU ทำงานคลายการบีบอัดข้อมูลที่ติดตั้งบนไดรฟ์ SSD โดยไม่ต้องผ่านโปรเซสเซอร์) หากไม่รองรับ NV_memory_decompression ระบบจะถอยกลับไปเป็นการใช้งานแบบอิงเชเดอร์ของ GDeflate
การเปลี่ยนแปลงอีกอย่างที่โดดเด่นคือมีการเพิ่มการปรับปรุงใน Starfield เนื่องจากใน VKD3D-Proton 2.10 มีการเพิ่มส่วนขยาย NV_device_generated_commands_compute ซึ่งสามารถใช้เพื่อปรับปรุงประสิทธิภาพเมื่อใช้โหมด ExecuteIndirect ซึ่งขับเคลื่อนการเปลี่ยนแปลงพารามิเตอร์ COMPUTE + root หลายรายการ
นอกจากนี้ ยังมีข้อสังเกตอีกว่า เพิ่มการรองรับสำหรับ Root Signature 1.2 API รวมถึงการรองรับ Shader Model 6.7 ซึ่งครอบคลุมฟีเจอร์ต่างๆ เช่น AdvancedTextureOps และ WaveOpsIncludeHelperLanes
ในส่วนของ การปรับปรุงและแก้ไขเกม มีการกล่าวถึงปัญหาที่เกิดขึ้นใน Unreal Engine 5 และเกมได้รับการแก้ไขแล้ว Star Wars Battlefront II, Ashes of Singularity, Xenia และ Armored Core VIในขณะที่การปรับปรุงความเข้ากันได้รวมถึงเกมด้วย Age of Wonders 4, Starfield, Halo Infinite, Street Fighter 6, Armored Core VI, Resident Evil 4, Monster Hunter Rise
จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:
- มีการใช้ฟังก์ชัน CreateSampler2 แล้ว
- เพิ่มการรองรับรูปแบบ A8_UNORM
- แก้ไขการสร้างลายเซ็นรูทจาก blobs เป้าหมายไลบรารี DXIL (DXR)
- แก้ไขสถานการณ์ PSO การรวมแหล่งที่มาแบบคู่บางส่วน การแก้ไข Star Wars Battlefront II
- โครงสร้างการเร่งความเร็วแบบแบตช์ถูกสร้างขึ้น
- ปรับปรุงประสิทธิภาพการสร้างอย่างมากอย่างน้อยบน RADV
- ใช้การดำเนินการของคลื่นในเฉดสีพิกเซลอย่างเคร่งครัดมากขึ้นตามกฎ D3D12
- วิธีแก้ปัญหาสำหรับประสิทธิภาพ ReBAR ที่ไม่ดีใน Age of Wonders 4
- ลบวิธีแก้ปัญหาสำหรับไดรเวอร์ KHR_present_wait NV 535+
- วิธีแก้ปัญหาสำหรับปัญหาความเสียหายของหน่วยความจำ Starfield ซึ่งไม่สามารถสอบถามการจัดตำแหน่ง 4 KiB ได้อย่างถูกต้อง
- ปิดใช้งานการใช้ ReBAR ใน Halo Infinite เพื่อจัดการกับประสิทธิภาพของ CPU ที่ต่ำมาก
- แก้ไขอาการค้างที่ผิดพลาดใน Ashes of Singularity เมื่อใช้รั้วร่วมและรอก่อนสัญญาณ
- แก้ไขข้อผิดพลาดแคช PSO ใน mesh shader แก้ไขเชเดอร์ตาข่ายใน Unreal Engine 5
- แก้ไขส่วนที่เหลือของ udiv ใน DXBC ซึ่งแก้ไขข้อบกพร่องบางอย่างของ Xenia
- แก้ไขข้อผิดพลาดการติดตามฮีปแบบสอบถามที่ถูกเปิดเผยโดย NV Streamline
- การแก้ไข DXIL -> SPIR-V ต่างๆ ตามปกติ
- การออกแบบชุดคำอธิบายที่เขียนใหม่เพื่อให้มีประสิทธิภาพมากขึ้นต่อข้อผิดพลาดของแอปพลิเคชัน
ในที่สุด หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับรุ่นใหม่นี้ คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.
และถ้าคุณต้องการ ลองใช้ Proton บน Steam ทันทีคุณรู้อยู่แล้วว่าคุณสามารถติดตั้งไคลเอนต์ Steam จากไฟล์ เว็บไซต์ทางการแม้ว่าคุณจะพบมันใน repos ของ distros ส่วนใหญ่