自2016年推出以来,Vulkan一直被定位为DirectX杀手。但在过去的六年里,开放的软件界面已经获得了很大的成功,随着最近发布的Vulkan 1.3,新版本即将迎来突破进展。

最新版本统一了Vulkan的碎片化功能基础。该软件界面多年来一直能够像智能手机上的光线追踪一样,但新标准指定了一系列核心功能,这些功能使Vulkan开发游戏变得更加容易和快捷。

什么是Vulkan?

怎么才能支持vulkan(放弃DirectX跨平台又开源)(1)

Vulkan是来自Khronos Group的跨平台应用程序编程接口(API)。用简单的术语来说,它是一个适用于所有三个主要操作系统(Linux,MacOS和Windows)的工具包,允许游戏与操作系统进行通信。

PC游戏玩家可能更熟悉DirectX,这是微软自己的API,专门用于Windows。DirectX和Vulkan之间有几十个技术差异:DirectX来自微软,仅适用于Windows,而Vulkan来自一个行业团队,跨操作系统工作,而且它是开源的。与DirectX不同,开发人员可以自由地修改和扩展Vulkan以满足他们的需求。事实上,最近的 Vulkan 1.3 更新主要是为 Vulkan 的核心添加功能,由 Khronos Group 和开发人员共同贡献。

Vulkan比DirectX更快

怎么才能支持vulkan(放弃DirectX跨平台又开源)(2)

在PC游戏中支持Vulkan有更多切实的理由。在一对一的对比中,Vulkan的表现优于DirectX。

我们测试了四款支持 Vulkan 和 DirectX 的游戏,以衡量性能的差异。请注意,许多游戏使用其中一个,而某些游戏将两者用于不同的场景。例如,《孤岛危机:重制版》使用 DirectX 作为主渲染引擎,但它使用 Vulkan 进行光线追踪。

怎么才能支持vulkan(放弃DirectX跨平台又开源)(3)

怎么才能支持vulkan(放弃DirectX跨平台又开源)(4)

从最新的DirectX 12开始,Vulkan在Red Dead Redemption 2Strange Brigade中1080p和4K分辨率下领先。在1080p的《奇异旅》中,只需切换到Vulkan,平均帧速率就提高了9%。

回到 DirectX 11,差异更加明显。Rainbow Six SiegeWorld War Z有Vulkan和DirectX 11可用,Vulkan在4K和1080p下仍然更快。

怎么才能支持vulkan(放弃DirectX跨平台又开源)(5)

怎么才能支持vulkan(放弃DirectX跨平台又开源)(6)

它在1080p下的平均帧速率提高了近21%。Vulkan处理多核CPU工作负载比旧版本的DirectX要好得多

这四款游戏很难完全代表人们玩的游戏。对于PC游戏玩家来说,好消息是Vulkan正在获得动力,这与性能无关。

跨平台支持、Steam Deck 和云游戏

怎么才能支持vulkan(放弃DirectX跨平台又开源)(7)

性能为王,但Vulkan非常重要,因为它具有跨平台支持。DirectX 仅适用于 Windows。作为使用 DirectX 构建游戏的开发人员,您必须考虑将游戏移植到其他平台。其他平台正变得越来越重要。

Valve建议开发人员使用Vulkan作为Steam Deck的主要API,因为Steam Deck使用Linux。

"有许多行业趋势正在推动更广泛的Vulkan支持。作为Valve的Steam Deck等创新设备上的主要API无疑是其中之一。使游戏流媒体服务能够在云中的Linux上托管游戏是另一回事。在iOS和MacOS上使用分层的Vulkan over Metal现在被证明可以提供出色的性能。当然,Vulkan是Android(最大游戏细分市场中最大的平台)上新一代游戏的首选API也不会改变

Trevett还指出,Vulkan是唯一一个既跨平台又开源的现代API。还有其他操作系统和移动设备,但Vulkan在其他地方也有应用程序。例如,它适用于Google Stadia,它甚至支持带有Nintendo Switch的游戏机。

怎么才能支持vulkan(放弃DirectX跨平台又开源)(8)

随着越来越多的游戏出现在比以往更多的设备上,Vulkan的好处是显而易见的:它允许开发人员为更多的平台构建游戏,并且通常比闭源API的性能有所提高。

多年的酝酿

怎么才能支持vulkan(放弃DirectX跨平台又开源)(9)

来自世界上最优秀的游戏开发商之一的大型AAA级游戏选择了Vulkan,其默认PC API而不是DirectX。尽管如此,我们距离Vulkan成为每个游戏的默认API还有很长的路要走。微软仍然垄断了PC游戏,而DirectX仍然适合无数开发人员的工作流程。希望随着Vulkan 1.3带来的变化以及Steam Deck等设备的势头,我们将来会看到更广泛的支持。

,