DXVK项目中Black Desert游戏性能下降问题分析
问题背景
在DXVK项目相关的用户反馈中,发现《Black Desert》游戏在使用较新版本的Proton-GE(9-15及以上版本)时,帧率表现明显低于旧版本(9-7至9-10)。具体表现为当玩家移动鼠标进行视角转动时,帧率下降显著,而当游戏窗口失去焦点或进入光标模式时,帧率则能恢复到较高水平。
性能差异表现
通过对比测试发现:
-
在Proton-GE 9-23版本中:
- 相机移动时帧率:135 FPS
- 静止不动时帧率:150-160 FPS
- 光标模式或窗口失焦时帧率:220 FPS
-
在Proton-GE 9-7版本中:
- 相机移动时帧率:170 FPS
- 静止不动/光标模式/窗口失焦时帧率:220 FPS
这种性能差异表明,新版本Proton-GE在输入处理方面可能存在优化问题。
技术分析
经过深入调查,发现问题根源并非来自DXVK本身,而是与Proton-GE的一个特定补丁有关。该补丁在9-11版本中被引入,主要针对XInput控制器输入的处理方式进行了修改。这个补丁在某些情况下会导致额外的性能开销,特别是在处理鼠标输入时。
解决方案
问题已由社区开发者反馈给Proton-GE维护者,并在Proton-GE 9-25版本中得到了修复。更新后,游戏的性能表现已恢复到与9-7版本相当的水平。
额外发现
在调查过程中还注意到一个与NVIDIA显卡相关的内存使用问题:在Linux环境下,游戏的内存占用比Windows环境下高出2-3GB(Windows约3GB,Linux约5-6GB)。这被认为是NVIDIA驱动在Linux平台上的一个已知问题。
结论
这个案例展示了Wine/Proton生态系统中,即使是看似微小的补丁变更也可能对特定游戏的性能产生显著影响。对于遇到类似问题的用户,建议:
- 首先确认问题是否存在于标准Proton版本中
- 对比不同Proton-GE版本的变更日志
- 及时向相关维护者反馈问题
同时,这也提醒我们,在游戏兼容层开发中,输入子系统的优化对游戏性能有着不可忽视的影响。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



