虽然强调为了让App有更好图形处理效果,因此呼吁开发者准备从OpenGL、OpenGL ES,以及OpenCL在内API,开始移转到提供的Metal资源,但对于跨平台App开发者而言,苹果此番「好意」似乎无法带来太大助益,甚至可能造成更多开发者因此转向其他作业系统平台发展。

其实原因很简单,对于跨平台内容开发者而言,藉由开放架构的OpenGL、OpenGL ES,以及OpenCL在内API,可以相当轻易地将内容移转到不同平台使用,一旦,特定平台仅支援单一API资源时,视必得针对此部份额外撰写编码呼叫使用,开发者不但必须额外花费功夫重新编写程式,同时在版本更新时也必须留意此部份是否出现相容问题,因此对于开发者来说,通常较愿意接受开源、通用设计的API内容。

而微软DirectX则是一种特例,虽然此项API仅Windows支援使用,同时也有作业系统与DirectX版本相容问题,但不少遊戏开发者仍愿意针对Windows平台设计遊戏,原因就在于Windows作业系统市佔相当高,几乎绝大多数的遊戏都是在Windows平台上发行。

从过往例子来看,即使过去AMD曾计画与遊戏厂商合作Mantle API计画,让不同开发者可以快速藉由Mantle API打造遊戏特效,甚至可透过AMD显示卡发挥更高运算效能,但在NVIDIA显示卡仍佔据市场多数比例情况下,纵使Mantle API效果可同时对应PlayStation 4、Xbox One主流家用电玩主机,依然无法在遊戏市场产生明显影响力,使得最后AMD降低Mantle API计画发展比重。毕竟对遊戏厂商而言,与其分别针对不同平台支援个别API内容,除非有接受特定合作,否则不如直接採用公开使用技术,如此才能让遊戏藉由跨平台销售达成最大化的遊玩效果。

回到苹果身上,若未来将不再使旗下作业系统支援OpenGL、OpenGL ES,以及OpenCL在内API,势必将造成许多遊戏相关、影音内容开发者开始面临抉择。

以目前苹果的作法,暂时还没有完全舍弃OpenGL,但是仅维持停留在旧版本相容部分,例如macOS仅维持支援2010年释出的OpenGL 3.3版本,而非2017年释出的4.6版本,虽然依然可让开发者使用OpenGL相关功能,却无法使用最新技术,因此在版本相容部分势必迫使开发者开始转向採用Metal,或是採用第三方中介软体、自制引擎,例如后续推出的Vulkan API便为不少开发者带来便利设计,让App可以善用硬体资源加快3D影像显示、渲染效果,而不少遊戏厂商也会选择自行打造遊戏引擎让App有更好表现。

若开发者仅针对苹果作业系统打造App,那么直接使用Metal API资源就没有任何问题,但绝大多数的开发者往往会选在不同作业系统发展,因此也就衍生不同作业系统相容、最佳化等问题。

就目前macOS使用比例仍不算高的情况下,基本上要开发者针对macOS平台上打造内容,除非是大规模跨平台发展或资源雄厚的开发者,否则就一般独立开发者应该很难只选择在macOS平台提供内容,尤其是遊戏开发者必然会选择跨平台形式打造内容,因此若苹果未来严格要求开发者透过Metal API打造内容,势必将造成许多开发者弃舍macOS平台,转向其他作业系统发展。

至于平台的情况反而不同,由于iOS平台发展规模相对庞大,因此不少遊戏开发者反而会选择iOS平台发行内容,因此在这样的情况下,开发者反而会为了发展机会而使用Metal API打造内容,即便在不同平台可能要多花费一些功夫,但相对能带来更大获益机会,对于开发者而言依然有利。

因此,苹果若希望让开发者能更愿意採用Metal API,或许要做的事情就是比照微软、Google提供更容易使用的转换工具,让App内容可以透过简单转档、重新编译即可达成相容效果,让开发者无需烦恼即可轻易对应使用Metal API,甚至无需担心是否产生相容问题。



相关文章