在 Vulkan API 之上发布 DXVK 2.0、Direct3D 9/10/11 实现

DXVK 2.0 层的发布可用,提供 DXGI(DirectX 图形基础设施)、Direct3D 9、10 和 11 的实现,通过对 Vulkan API 的调用转换工作。 DXVK 需要支持 Vulkan 1.3 API 的驱动程序,例如 Mesa RADV 22.0、NVIDIA 510.47.03、Intel ANV 22.0 和 AMDVLK。 DXVK 可用于使用 Wine 在 Linux 上运行 3D 应用程序和游戏,作为运行在 OpenGL 之上的 Wine 内置 Direct3D 9/10/11 实现的更高性能替代方案。

主要变化:

  • 对Vulkan图形API版本的要求提高到需要支持Vulkan 1.3的驱动程序(之前需要Vulkan 1.1),这使得实现对着色器编译相关新功能的支持成为可能。 实际上,DXVK 2.0可以在任何支持使用Proton Experimental包运行基于D3D11和D3D12的游戏的系统上运行。 Winevulkan 至少需要 Wine 7.1 才能运行。
  • 采用了 dxvk-native 项目的代码,它允许您为 Linux 生成本机 DXVK 构建(不与 Wine 绑定),它可以不用于运行 Windows 应用程序,但可以用于普通的 Linux 应用程序,这对于创建Linux 游戏的移植,无需更改基于 D3D 的渲染代码。
  • 对 Direct3D 9 的支持已得到扩展,包括改进的内存管理(内存映射文件用于存储纹理副本)、支持从热点正确读取(解决了玩 GTA IV 时出现伪像的问题)以及重新设计的实现透明度检查。
  • 对于 Direct3D 10,d3d10.dll 和 d3d10_1.dll 库已停止使用,由于 wine 中存在更高级的 D3D10 实现,默认情况下不会安装这些库。 同时,d3d10core.dll 库中继续支持 D3D10 API。
  • 对 Direct3D 11 的支持已升级至功能级别 12_1(D3D11 功能级别),以实现平铺资源、保守光栅化和光栅化器有序视图等功能。
  • ID3D11DeviceContext 接口(表示生成绘图命令的设备上下文)的实现已经过重新设计,其行为更接近 Windows。 重新设计可以提高与第三方库的兼容性并减少 CPU 的负载。 特别是,在大量使用延迟上下文的游戏(例如《刺客信条:起源》)或频繁调用 ClearState 操作(例如《战神》)的游戏中,CPU 使用率得到了降低。
  • 已对着色器的编译进行了更改。 在存在支持 VK_EXT_graphics_pipeline_library 扩展的 Vulkan 驱动程序的情况下,Vulkan 着色器在游戏加载 D3D 着色器时进行编译,而不是在渲染期间编译,这解决了游戏期间由于着色器编译而导致的冻结问题。 目前,仅从版本 520.56.06 开始的专有 NVIDIA 驱动程序支持所需的扩展。
  • D3D11 着色器使用 Vulkan 内存模型。
  • 取消了一次可绑定资源数量的限制。
  • 修复了游戏中出现的问题:
    • 艾伦·韦克
    • 爱丽丝疯狂回归
    • 异常:战区地球
    • 超越善恶
    • 龙腾世纪起源
    • 帝国:全面战争
    • 最终幻想XV
    • 侠盗猎车手IV
    • 灭亡帝国的英雄
    • 极限拳皇XNUMX
    • 潜龙谍影五:地面零点
    • SiN 剧集:出现
    • 索尼克世代
    • 蜘蛛侠
    • 船舶
    • 战锤在线
    • 是的七

来源: opennet.ru

添加评论