Valve 已更新 VKD3D-Proton,这是将 Direct3D 12 转换为 Vulkan 以用于 Steam Play 的组件,新增了对 VK_EXT_descriptor_heap 的支持。此扩展自 Vulkan 1.4.340 起可用,允许直接控制描述符内存,从而提高了可移植性,并为使用 Direct3D 12 的游戏提供了更稳定的性能。
VK_EXT_descriptor_heap 扩展的工作原理 🛠️
该扩展将描述符的自动管理替换为显式管理,开发者可以自行分配和释放图形资源的内存。这避免了 NVIDIA 等驱动程序中的瓶颈,因为在这些驱动中,动态分配会导致高要求游戏中的性能下降。通过将控制权交给用户,减少了驱动程序调用,实现了更可预测的性能,尤其是在包含大量对象或纹理的场景中。
描述符不再神秘的那一天 🎲
到目前为止,驱动程序处理描述符的方式就像洗衣机里丢失的袜子:它们想出现时就出现,有时还会卡住。有了这个扩展,开发者可以说我来控制这个,NVIDIA 的驱动程序就不再需要手忙脚乱了。这就像从碰运气游戏变成了按说明书操作,不过肯定有些程序员已经开始怀念混乱带来的刺激感了。