DXVK是流行的基于Vulkan的Direct3D 9、10和11的开源翻译层,允许你通过Wine在GNU/Linux系统上运行为Windows设计的3D应用程序和游戏,今天已经更新到2.0版本,这是一个引入重要变化和改进的重要版本。
DXVK 2.0版本的主要变化包括对Direct3D 9实现的内存管理进行了改进,以更好地支持32位D3D9游戏,同时对D3D9游戏中的活动渲染目标进行适当的支持。
对于Direct3D 10的实现,这个版本删除了不完整的d3d10.dll和d3d10_1.dll的实现,而采用Wine对这些DLLs的实现来支持D3D10游戏。另一方面,Direct3D 11的实现现在暴露了D3D11特性等级12_1,具有平铺资源和保守的光栅化,直到第3层,以及光栅化器的有序视图。
“虽然没有游戏知道在D3D11中直接使用这些功能,但一些游戏和游戏启动器依赖于D3D11和D3D12之间的功能支持是一致的,以便让用户在游戏选项中启用D3D12。虽然我们对这些功能的实现总体上是可行的,但在游戏确实使用这些功能的情况下,可能会出现错误或性能问题,”开发者在发布说明中说。
Direct3D 11的实现也得到了ID3D11DeviceContext实现的改进,以进一步减少游戏中的CPU开销,并提高与挂钩D3D11的第三方库和MOD的兼容性,同时提供一个更接近于Windows系统的行为。
除此之外,DXVK 2.0还为支持VK_EXT_graphics_pipeline_library Vulkan扩展的图形驱动带来了着色器编译的变化,在游戏加载时而不是在绘制时编译Vulkan着色器。目前,只有NVIDIA 520.56.06及以后的图形驱动支持这一变化。
在其他变化中,该版本引入了对DXVK的本地Linux构建的支持,以帮助那些想要移植D3D应用程序而无需改变渲染代码的开发者,改进了DXGI可等待交换链的行为,改进了DXGI帧统计的实现,改进了英特尔集成显卡的内存分配逻辑,以及各种错误修复。
正如新的DXVK更新所预期的那样,2.0版本也为许多游戏带来了改进,包括Alan Wake、Alice Madness Returns、Anomaly: Warzone Earth、Beyond Good and Evil、Dragon Age Origins、Empire:全面战争》、《最终幻想15》、《GTA IV》、《消灭帝国的英雄》、《极限战士XIII》、《合金装备V:地面零度》、《SiN Episodes》。新兴》、《索尼克一代》、《蜘蛛侠:破碎的维度》、《舰船》、《战锤在线》和《Ys Seven》。
DXVK 2.0现在可以从项目的GitHub页面下载,如果你想在你的GNU/Linux发行版上编译它,但如果不是这样,你应该等待这个版本到达你的发行版的稳定软件库,以更新和享受Linux上更好的游戏体验。
转自 DXVK 2.0 Released with Major Changes and Improved Support for Many Games – 9to5Linux