在即将发布的Mesa 24.3版本中,Valve的Linux驱动团队为RADV(Radeon Vulkan)驱动程序带来了重大改进,特别是在AMD FSR 2(FidelityFX Super Resolution 2)上的性能表现。这一改进使得在RDNA 2硬件上启用FSR 2时的性能提升高达228%,为Linux系统的AMD GPU用户带来了前所未有的流畅体验。
值得注意的是,此次性能提升是针对FSR2示例应用程序的测试结果,而非FSR2算法本身的改进。RADV作为Linux上AMD GPU的开源Vulkan驱动,一直因其开源特性和广泛的社区支持而受到用户的青睐。然而,在过去近两年里,RADV在启用FSR 2时的性能表现一直不如AMD官方的AMDVLK/AMDGPU-PRO驱动。
这一瓶颈的突破得益于Valve工程师Samuel Pitoiset的精湛技艺。他通过重新编写仅十余行代码,成功解决了RADV在FSR 2中处理特定特性原始对象剔除(culling)时存在的问题。原始对象剔除是一种在渲染前剔除不必要对象(如三角形和线条)的技术,旨在节省性能和功耗。
据Samuel Pitoiset分析,RADV在处理W位置为零的原始对象剔除时效率较低,导致额外的计算负担,从而降低了FSR 2应用的性能。为了解决这个问题,他调整了AMD NIR代码,强制在W位置为零时进行剔除。这一改动使得RADV驱动在RDNA 2 GPU上启用FSR 2时的性能实现了质的飞跃,提升幅度高达228%。
评论