由 Mozilla 主导开发的 Rust 编程语言的 "GFX-RS" 计划继续致力于在 Rust 中暴露一个通用的“类似 Vulkan”的图形 API,而后者将为 Vulkan, OpenGL, Metal 和 Direct3D 11/12 提供后端支持,以实现支持所有的主要平台。从早期基准测试结果来看,GFX-RS 非常有希望。
除了为 Rust 开发者暴露类似 Vulkan 的图形 API 之外,Rust 开发团队还在它上面构建了一个 Vulkan 的可移植性实现,让使用 Vulkan 的非 Rust 程序/游戏能反过来运行它 —— 就像使用 MoltenVK 一样,能在 macOS 上运行 Vulkan 游戏/应用程序。此外,GFX-RS 顶层的这个额外层将允许 Vulkan 程序也可以在 Windows 和其他地方运行,方法是将其映射到 D3D/Metal/OpenGL。
GFX-RS 开发者一直在 macOS 上运行 Dota 2 以测试他们的 Vulkan 可移植性实现,它原生支持 Vulkan,默认情况下依赖于 MoltenVK。
将 Metal 的延迟模式和 GFX-RS 一起搭配使用,主线程中的 CPU 使用率为 12%,而使用 MoltenVK 则为 21%。无论是在 AMD 硬件的高质量设置或低质量设置下,它的性能都更优秀。前者的对比结果是 41 vs. 35 FPS,后者为 47 vs. 40 FPS。当 NVIDIA 性能在第三方系统与 GFX-RS 的 Dota 2 基准测试进行对比时,AMD 的图形结果更接近。
有关针对 GFX-RS 的 Vulkan 可移植性当前状态的更多详细信息,请访问 gfx-rs.github.io。
(文/开源中国)