苹果未来将不再使旗下操作系统支援OpenGL、OpenGL ES,以及OpenCL在内API,势必将造成许多游戏相关、影音内容开发者开始面临抉择,可能不再开发macOS相容游戏。
虽然强调为了让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内容,除非有接受特定合作,否则不如直接采用公开使用技术,如此才能让游戏借由跨平台销售达成最大化的游玩效果。
跨平台开发者可能选择舍弃macOS平台
回到苹果身上,若未来将不再使旗下操作系统支援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平台发展规模相对庞大,因此不少游戏开发者反而会选择iOS平台发行内容,因此在这样的情况下,开发者反而会为了发展机会而使用Metal API打造内容,即便在不同平台可能要多花费一些功夫,但相对能带来更大获益机会,对于开发者而言依然有利。
因此,苹果若希望让开发者能更愿意采用Metal API,或许要做的事情就是比照微软、Google提供更容易使用的转换工具,让App内容可以透过简单转档、重新编译即可达成相容效果,让开发者无需烦恼即可轻易对应使用Metal API,甚至无需担心是否产生相容问题。






























