DXVK 是一个基于 Vulkan 的转换层,它能将 Direct3D 9、10 和 11 的指令转换为 Vulkan 命令,大幅提升在 Linux 系统上运行 Windows 游戏的兼容性和性能。最新的 DXVK 2.5 版本带来了诸多优化和改进,尤其在内存管理和资源处理方面。让我们来深入了解此次更新的主要内容。

内存管理优化:更少的占用、更高的效率

在新版本中,DXVK 引入了全新的内存管理系统,使显存的分配和使用更加高效。这个改进不仅减少了内存碎片化,还显著降低了部分游戏的内存峰值使用。例如,《战神》在某些极端情况下的内存占用减少了约 1 GiB,从而让系统在高负载下运行更流畅。

此外,DXVK 还加入了定期内存碎片整理功能,它会将未使用的内存返还给系统。虽然这种方式带来的内存释放效果有限,但在内存资源紧张的情况下,能对系统稳定性产生积极影响。目前,这项功能在 Intel 的 ANV 驱动上默认关闭,用户可以通过配置文件手动开启。

新增驱动支持与提升:流畅度的保证

为确保游戏运行流畅,DXVK 2.5 最佳适配带有 VK_EXT_memory_budget 和 VK_KHR_maintenance5 支持的驱动。这种优化让游戏的内存利用率更高,特别在需要频繁渲染的大型游戏中表现更佳。

增强 D3D9 支持与游戏兼容性修复

此次更新还特别提升了对 Direct3D 9 和老游戏的支持。DXVK 2.5 新增了 D3D9 游标 API 模拟功能,使得游戏可以自由设置任意图像作为游标,修复了《地牢围攻2》和《战争行为》等老游戏的游标显示问题,极大改善了游戏的操作体验。

此外,DXVK 也对基于虚幻引擎 3 的 D3D9 游戏进行了优化。这些游戏之前会传递未初始化的 LOD(纹理细节层次)偏差值,导致生成了过多的 Vulkan 采样器对象。现在,DXVK 实现了动态清理未使用的 Vulkan 采样器功能,并确保了正确的 LOD 偏差值,提高了画面的准确性。

针对游戏的性能提升与修复

DXVK 2.5 还对多个游戏的渲染和性能进行了优化:

  • 渲染修复:《登上王位》《命令与征服:将军》《国王的恩赐:北方勇士》和《古墓丽影:传说》等游戏中的特定渲染问题得到了修复。
  • Nvidia 用户支持:对 565.57.01 及以上版本驱动启用了严格浮点仿真功能,提升了某些游戏的图形准确性,且在部分情况下带来了性能提升。
  • 移动 GPU 优化:对部分移动 GPU 进行了优化,以提高性能,使游戏运行更加流畅。

资源管理优化:降低内存压力

DXVK 2.5 针对 D3D11 和 DXGI 游戏的资源管理也进行了优化。新版 DXVK 限制了资源的创建、上传和丢弃频率,降低了内存压力。对于 32 位游戏如《全面战争:罗马 2》来说,这一优化显著提升了稳定性。此外,DXVK 还调整了动态纹理的处理方式,使大型动态纹理不再使用暂存缓冲区,从而进一步优化内存使用效率。

其他修复与改进

  • DXGI 交换链:DXVK 为 DXGI 交换链增加了 SEQUENTIAL 交换效果,减少了部分游戏中的锁定争用问题。
  • dxvk-native:新版本的 dxvk-native 增加了对 SDL3 后端的支持,解决了 Vulkan 验证错误和重叠遮挡查询问题。
  • VK_EXT_pageable_device_local_memory 支持:这一支持使得 DXVK 在驱动端的内存管理更加灵活,为未来的性能优化奠定基础。

总结

DXVK 2.5 的发布带来了大量的性能优化和兼容性改进,特别是在内存管理、资源处理和游戏兼容性方面。这一更新为 Linux 游戏玩家提供了更顺畅的游戏体验,也更好地支持了多种硬件平台。想了解更多细节或获取完整更新日志的用户,可以访问 DXVK 的官方更新页面

发表回复