首页
/ DXVK项目中AMD显卡对VK_EXT_graphics_pipeline_library扩展的支持现状分析

DXVK项目中AMD显卡对VK_EXT_graphics_pipeline_library扩展的支持现状分析

2025-05-16 07:18:34作者:史锋燃Gardner

背景介绍

VK_EXT_graphics_pipeline_library是Vulkan API的一个重要扩展,它允许将图形管线分成多个独立的部分进行创建和管理。这个扩展对于提升游戏性能,特别是减少着色器编译时的卡顿(stutter)有显著作用。在DXVK项目中,这个扩展的支持情况直接影响着Windows平台上使用Vulkan转译DirectX游戏的性能表现。

AMD驱动更新带来的变化

近期AMD发布了Adrenalin 24.2.1驱动程序,首次为Windows平台添加了对VK_EXT_graphics_pipeline_library扩展的支持,同时包含了graphicsPipelineLibraryIndependentInterpolationDecoration特性。这一更新本应显著提升DXVK在AMD显卡上的性能表现。

然而,初期测试发现DXVK并未正确识别和启用这些新特性。经过调查,这是由于AMD驱动在检测到DXVK时会主动禁用这些功能,原因是当时这些特性与DXVK的配合还存在稳定性问题。

后续发展

随着AMD驱动版本的迭代,在24.6.1版本中,AMD正式启用了对DXVK的VK_EXT_graphics_pipeline_library支持。测试表明,在多款经典游戏(如GTA系列、NFS系列)中,该扩展现在能够被正确识别和启用。

现存问题与解决方案

尽管扩展支持已经可用,但在实际使用中仍发现一些问题:

  1. 特定游戏兼容性问题:如Need for Speed 2015和Payback在启用该扩展后会出现全屏模式下的崩溃问题。临时解决方案是使用窗口模式运行。

  2. 性能优化不完全:在某些游戏(如Baldur's Gate 3 DX11)中,即使启用了该扩展,仍可能出现着色器编译卡顿。这时可以考虑使用dxvk-gplasync等优化方案。

  3. 驱动版本差异:不同版本的AMD驱动对扩展的支持程度不同,建议使用最新稳定版驱动。

技术建议

对于开发者而言,DXVK 2.4版本及之后的master分支包含了对AMD扩展实现中发现的一些bug的修复。如果遇到崩溃或挂起问题,建议尝试这些更新版本。

对于终端用户,如果遇到稳定性问题,可以考虑:

  • 更新至最新AMD驱动
  • 尝试DXVK的最新开发版本
  • 对于特定问题游戏,可暂时禁用该扩展

未来展望

随着AMD驱动和DXVK项目的持续优化,VK_EXT_graphics_pipeline_library扩展的支持将越来越完善。这将为Windows平台上的DirectX游戏通过Vulkan转译带来更接近原生DirectX的性能表现,特别是在减少着色器编译卡顿方面。

用户和开发者都应持续关注双方的更新日志,以获取最新的兼容性改进和性能优化。同时,遇到任何问题都应及时向相关方反馈,共同推动技术的进步。

登录后查看全文