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

DXVK 2.2 层的发布可用,提供 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 实现的更高性能替代方案。

主要变化:

  • 添加了对 D3D11On12 层的支持,这允许 Direct3D 11 在 Direct3D 12 之上工作。为了在基于 Unity 引擎的新游戏(例如 Lego Builder's Journey)中支持 D3D12,DXVK 实现了使用 D3D11 设备创建 D3D12 设备的能力D3D11On12CreateDevice 函数和 ID3D11On12Device API。
  • Direct3D 9 的实现引入了对部分显示(Partial Presentation)的支持,它允许通过将屏幕缓冲区(后台缓冲区)的内容复制到系统内存,然后使用 CPU 将其绘制到窗口来组织窗口部分的显示。 此功能提高了与使用 Microsoft WPF 工具包构建的游戏启动器的兼容性,但代价是性能下降。 对于 Direct3D 9,虚拟帧缓冲区 (SwapChain) 的一般行为也得到了改进,并且删除了对 d3d9.noExplicitFrontBuffer 选项的支持。
  • 当与 Proton 或 Wine 一起使用时,默认情况下,将停止创建日志文件,并使用特定于 wine 的功能组织向控制台输出诊断消息,这与 vkd3d-proton 的行为相对应。 要恢复创建单个日志文件,您可以设置 DXVK_LOG_PATH 环境变量。
  • 在游戏中创建未使用的 D3D11 设备时显着减少内存消耗。
  • 在多 GPU 系统上,通过 DXGI 改进了对可用输出设备的检测,这解决了基于使用 D3D12 的 RE(登月)引擎的新游戏的性能问题。
  • 修复了游戏中出现的问题:
    • 战斗幻想曲修订版
    • 冷酷的恐惧
    • 魔法2的黎明
    • DC宇宙在线
    • 远东惊魂2时
    • 晕:士官长集合
    • 战锤 40k:星际战士
    • 翡翠帝国
    • 席德梅尔的海贼团
    • 全面战争:Shogun 2

    来源: opennet.ru

添加评论