DXVK项目中AMD显卡对VK_EXT_graphics_pipeline_library扩展的支持现状分析
背景介绍
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系列)中,该扩展现在能够被正确识别和启用。
现存问题与解决方案
尽管扩展支持已经可用,但在实际使用中仍发现一些问题:
-
特定游戏兼容性问题:如Need for Speed 2015和Payback在启用该扩展后会出现全屏模式下的崩溃问题。临时解决方案是使用窗口模式运行。
-
性能优化不完全:在某些游戏(如Baldur's Gate 3 DX11)中,即使启用了该扩展,仍可能出现着色器编译卡顿。这时可以考虑使用dxvk-gplasync等优化方案。
-
驱动版本差异:不同版本的AMD驱动对扩展的支持程度不同,建议使用最新稳定版驱动。
技术建议
对于开发者而言,DXVK 2.4版本及之后的master分支包含了对AMD扩展实现中发现的一些bug的修复。如果遇到崩溃或挂起问题,建议尝试这些更新版本。
对于终端用户,如果遇到稳定性问题,可以考虑:
- 更新至最新AMD驱动
- 尝试DXVK的最新开发版本
- 对于特定问题游戏,可暂时禁用该扩展
未来展望
随着AMD驱动和DXVK项目的持续优化,VK_EXT_graphics_pipeline_library扩展的支持将越来越完善。这将为Windows平台上的DirectX游戏通过Vulkan转译带来更接近原生DirectX的性能表现,特别是在减少着色器编译卡顿方面。
用户和开发者都应持续关注双方的更新日志,以获取最新的兼容性改进和性能优化。同时,遇到任何问题都应及时向相关方反馈,共同推动技术的进步。
cherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端TypeScript039RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统Vue0422arkanalyzer
方舟分析器:面向ArkTS语言的静态程序分析框架TypeScript041GitCode百大开源项目
GitCode百大计划旨在表彰GitCode平台上积极推动项目社区化,拥有广泛影响力的G-Star项目,入选项目不仅代表了GitCode开源生态的蓬勃发展,也反映了当下开源行业的发展趋势。03PowerWechat
PowerWechat是一款基于WeChat SDK for Golang,支持小程序、微信支付、企业微信、公众号等全微信生态Go01openGauss-server
openGauss kernel ~ openGauss is an open source relational database management systemC++0146
热门内容推荐
最新内容推荐
项目优选









