三易生活 03-17
面向未来,谷歌要用Vulkan来全面替代OpenGL
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

早在 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 等老平台就将会被无情抛弃。或许,这就是谷歌在变相促成 " 钉子户 " 尽快换机。

【本文图片来自网络】

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

谷歌 android 王者荣耀 gpu
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论