Metal令iOS平台在可预见的未来在游戏开发上领先于安卓平台
苹果昨天在全球开发者大会(WWDC)上的两小时主题演讲中推出了一系列产品或功能,其中三个专门针对于游戏开发者:SpriteKit中的新功能SceneKit;新框架Metal,为在高端游戏大幅提升iOS表现奠定了基础;最后一个则是以谷歌不能用安卓平台做出回应的方式对这些技术或功能进行优化。
对于那些没有技术背景的人来说,Metal向开发者提供了一系列功能,令其比OpenGL“更接近机器”。OpenGL也是传统上用在iOS、Mac、安卓等平台以及非微软游戏主机上的应用编程界面。Metal的推出意味着苹果能对图形处理硬件进行更为直接的控制,运行速度也更快,原因是整个系统需要处理的环节更少。
在现实中,这不会给多数开发者带来太多益处——只有那些真正需要了解编码要素以提升图形处理表现的开发者,才能坐收渔翁之利。但对于开发者而言,有一个旨在打造“游戏引擎”的完整行业,能够让他们每次在创建一个新项目时不必重头开始。让那些开发者感兴趣的是,苹果如何将Metal融入到大多数iOS游戏中。
事实表明,有些团队已经开始着手将Metal集成到他们的游戏引擎中。Unity3D渲染部门主管阿拉斯·普兰克维库斯(Aras Pranckevičius)昨天在Twitter上写道,将Metal融入该公司游戏引擎是“有史以来向全新的3D API迁移中速度最快的。”
iOS开发者、创业顾问纳特·布朗(Nat Brown)在他的 个人博客中表示 ,这并不意味着开发者不会再给安卓平台开发游戏,因为开发者通过Metal技术可以在iOS平台上获得更好的表现。大多数人甚至碰到不会碰一下,原因是Metal将被整合到他们用以开发游戏的工具中去。
不过,一旦为这个平台开发的游戏开始提供远超以前的图形体验,玩家可能便会开始注意到这种动向:
也就是说,拥抱Metal技术的程序开发人员,都是那些当前维护着95%(可能99%)移动游戏的引擎、框架和工具链的团队。Unity3D、Unreal Engine和其他许多团队目前主导着iOS和Android两大平台的移动游戏开发,传统上一直将目标对准两大平台上相对常见的OpenGL ES核心。
由于这一点,我发现就传统的API看法而言,这个API本身不可能起到将任何人都锁定到iOS平台上的作用——每个人都在使用处于整条价值链上游的引擎、框架或真正的工具。但是,Metal可以在为移动端提供iOS性能锁定(performance lock-in)上做得非常好。
虽然在其他平台上也有类似于Metal的框架——AMD图形芯片采用的是Mantle,Windows和Xbox平台则是微软的DirectX 12——但这两家公司均未完全控制他们正在打造的生态系统,这不仅让事情变得复杂化,而且还限制了他们所能针对特定硬件进行优化的能力。
毕竟,AMD生产了类型多样的图形核心,可以应用于范围几乎无限的PC硬件配置中,而DirectX则不得不应对相同广度的CPU、RAM等,同时还要支持AMD、nVidia、英特尔的图形芯片。
正如科技博客Anandtech的 莱恩·史密斯 (Ryan Smith)在今天早晨所说,这意味着这些框架不能以与苹果相同的方式针对特定硬件进行优化:
在我们迄今看到的其他低级别API中——AMD的Mantle和微软的DirectX 12,前者是由硬件厂商开发的,必须依赖于其他公司CPU和操作系统,而后者出自一家操作系统厂商,不得不依赖于第三方CPU和GPU。另一方面,苹果则在所有人期待的提供完全垂直的生态系统方面,占据着令人羡慕的地位。苹果设计有自家CPU,对自家SoC进行配置,还在开发自有操作系统。在这个链条中唯一缺失的环节是,苹果的确没有控制GPU,即便如此,苹果过去七年一直在独家使用Imagination Technologies的PowerVR GPU,而且这种合作并未显现出任何变动的迹象。
由于iPhone 5s、iPad Air和iPad mini均采用相同的A7 SoC系统——今年的新款式估计都会搭载A8系统——Metal可以专门转对一整套硬件产品进行优化,让整个移动设备系列享受同等的益处。
虽然安卓手机的多元化有其自身优势,但谷歌仍然无力打造一个类似于Metal的框架,针对每一家设备厂商的硬件进行优化。鉴于游戏玩家对手机功能的期望值不断发生变化,Metal的推出将如何重塑移动游戏格局,还请大家拭目以待。(译:皓岳)