面向未来,谷歌要用Vulkan来全面替代OpenGL

三易生活 2025-03-17 20:59:06

早在2015年的游戏开发者大会(GDC)上,OpenGL官方组织Khronos Group就提出了全新的计算机图形API规范Vulkan。在十年后的GDC 2025前夕,谷歌方面宣布将Vulkan确立为Android的官方图形标准。

看到这里,可能会有不少朋友会感到困惑,Vulkan不是早就已经出现在Android系统里了吗?毕竟早在2018年、2019年,许多安卓手机厂商在宣传旗下产品游戏性能时,都会强调自家的产品支持《王者荣耀》的Vulkan版本,能够让游戏更流畅、画质更逼真、续航时间更长。

但问题就在于,Vulkan在此之前只是属于一个可选项,并不是所有的Android游戏都必须支持。此前在2016年,谷歌方面就正式宣布支持Vulkan作为Android 7的底层图形API,也标志着在OpenGL之外,开发者有了一个开放且跨平台的计算机图形API可选。

谷歌当时的说法,是引入Vulkan并不代表就放弃此前的OpenGL,而是让两种API并行发展,从而为不同的用户群体和不同种类的游戏服务。然而时过境迁,如今OpenGL已经不再契合谷歌的市场策略,所有才有了如今要用Vulkan取代OpenGL的决定。

Vulkan作为一个不同于OpenGL的全新API,可以跨平台、大幅降低绘制命令所需的系统开销、改善多线程性能,并带来更快的渲染性能,同时也更注重移动平台多核CPU和GPU协同处理任务的特点。其中在移动端,Vulkan能够大幅度降低CPU延迟,来自应用的图形指令传达到GPU的时间会更短,从而实现帧率增加、复杂场景渲染能力改善的作用。

可是自从谷歌方面宣布Android支持Vulkan以来,移动游戏开发者却兴趣缺缺,除了《王者荣耀》、《和平精英》等少数热门游戏积极适配以外,大量手游并未使用Vulkan、而是继续沿用OpenGL。那么为何移动游戏不用Vulkan?这其实是一个历史遗留问题,作为OpenGL的继承者,Vulkan同样也被Android的碎片化问题困扰。

长期以来,Vulkan在Android机型下的表现很不稳定,即便到了2024年,Mali GPU、Adreno GPU的Vulkan驱动普遍还存在一定问题,导致各式各样的驱动BUG广泛分布在Android机型上。但这也不是因为高通、联发科不上心,而是使用Vulkan的游戏并不多,所以就导致厂商得到的反馈少,自然就没法及时进行修复。

从Android游戏开发者的视角来看,由于Vulkan产生的BUG即可能出现在某品牌的旗舰机上、也会出现在另一个厂商的千元机上,就导致其无法覆盖全部用户,所以OpenGL成了必选项。既然如此,支持Vulkan也就只是一个可选项。

更为重要的是,Vulkan是显式控制的API,也提供了更强的控制能力,但代价就是几乎所有的事情开发者都需要亲自搞定,要对硬件驱动框架有一个比较综合的认识。以至于在实务中,开发者普遍反馈Vulkan的使用门槛相比OpenGL显著更高。

在Vulkan的门槛更高、OpenGL又不是不能用的情况下,开发者自然就缺乏改变现状的动力。既然如此,谷歌方面又何必强推Vulkan呢?这是因为OpenGL注定要被淘汰。Vulkan原本的名字其实就是OpenGL Next,本就是为取代OpenGL而生。

再加上Vulkan在某种意义上,还关乎谷歌的营收。在Vulkan确立为Android官方图形标准的同时,谷歌方面还宣布为了推广Vulkan,Google Play将联合硬件厂商及游戏引擎开发商启动“PC游戏移植扶持计划”,在未来两年内将PC游戏的体验无缝迁移至移动端。

当MMORPG、FPS、MOBA等游戏品类出现在手机上之后,手游的重度化已然就成为了不可逆转的大势,而当重度化走向顶峰,以《原神》为代表的跨平台游戏就开始大行其道。如今手游玩家已经不再甘于游玩端游改编手游,而是想要在移动端直接玩到端游的体验。

这时候Vulkan的意义就凸显了出来,现在PC显卡对于Vulkan的支持已经相当成熟,使用Vulkan就意味着能够更轻松地将PC游戏移植到移动端。而对于游戏开发者而言,多一个平台就会多一批受众,所以他们自然有充足的动力支持Vulkan。

对于Android游戏开发者,谷歌其实也有办法。他们在去年推出了“ANGLE For testing across Android 15 devices”项目,是测试在Android 15设备上将OpenGL API转换为Vulkan API,这种转换就使得开发者能够在不牺牲性能的情况下编写一次代码,就能在直接多个平台上运行。

事实上,谷歌现在要用Vulkan完全代替OpenGL,其实就是复刻当年苹果用metal图形API代替OpenGL的操作,用一个更现代化的API来代替OpenGL这个已经运行了二十余年,再无升级迭代空间的“老古董”。

当然,谷歌力推Vulkan也不是毫无代价,尽管越新的SoC受益就会越大,但诸如高通骁龙865、联发科天玑1000等老平台就将会被无情抛弃。或许,这就是谷歌在变相促成“钉子户”尽快换机。

0 阅读:53

三易生活

简介:专注IT,最快最专业资讯!