如何评价 Apple 为 iOS 8 推出的 Metal 图形 API?

仪思奇 ,爱好摄影的软件工程师
Metal不是为了取代OpenGL或者对抗DirectX的。
 
Apple设计Metal向下是为了进一步压榨硬件性能。加强针对硬件的定向优化。向上笼络各大游戏引擎提供商,引入广泛支持。
 
说到底这是进军客厅,对抗游戏主机的战略储备。虽然目前的A7还不能完全跟PS4、XO这样的次时代主机比肩,但是凭借定向优化,超越一切同时代Android解决方案还是游刃有余的。事实上PS、Xbox这样的主机能卖很多年不换芯主要就是靠定向优化。Metal这招算是师夷长技以制夷。
 
另外:预计短期内Metal不会很快登录OS X。Macbook系列硬件满负荷运转后散热还是太吃力了。
 
补充 1:定向优化为什么不可以是针对OpenGL的?
 
OpenGL现在面向移动设备的主要标准叫OpenGL ES。这个标准是通用标准考虑到了广泛的兼容性。但是作为倡导硬件严格为软件服务的苹果,为了强化自己的软件平台,裁剪公共标准,增补自身优势已经成了必须的手段。既然已经自创了A7这一处理器标准,那还有什么理由不动OpenGL呢?
 
补充 2: @泽淹的问题:会不会移植到桌面?
 
我个人认为,短时间内看不到希望。理由有两方面:
 
首先,Mac仍不是良好的游戏设备。在当前整个Mac产品线中,几乎所有设备内部空间都设计的十分紧凑。虽然Mac Pro的表现不详,但是Macbook、iMac的发热和满负荷时的噪音都让人没法享受游戏乐趣。
 
其次,Metal主打的就是定向优化,而目前Mac系列产品则是开放式的硬件组合。CPU和显卡每一代都会有所不同。不利于定向优化。而且,在游戏主机中所使用的CPU和GPU都是经过细致的定制,与零售版相近型号也有所不同。即便是针对某一特定型号,优化的意义也不大。相比之下硬件进化趋于平稳的iOS平台更适合Metal。
 
Milo Yip ,游戏程序员、《游戏引擎架构》译者
1.Apple的软硬件平台本身不开放,无须使用Android所需的OpenGL ES标准。除了跳过一些跨平台层的适应性接口可以提升性能,从商业上考虑,同一跨平台游戏在iOS的表现较运行Android的好,即使硬件是一样的。估计未来评测君可大造文章了。
 
2.提升性能估计应该是减少CPU方面的额外开销,并且在CPU上可以预先进行一些工作(例如shader编译、预先组建command buffer)等。这些有可能也能减少GPU空闲时间。但这些性能优化,可能更重要的是令硬件更连续地工作,减少耗电。对于draw-call多但shader简单的2D游戏来说可能更明显。
 
3.以前iOS和Android游戏开发可以统一使用OpenGL。现在需要更改引擎,虽然对支持跨平台的引擎来说不会太难,最麻烦的是shader的移植。为了支持A7前的设备大概要两套shader。可能会出现HLSL/GLSL/MSL的cross-compiler,或是要从更high level的语言编译成这些目标语言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值