苹果宣布过时的OpenGL和OpenCL技术


从苹果演示

Apple已更新开发人员文档。 “新功能?”部分 致力于macOS 10.14中的关键更改:这是深色方案Dark Mode,用于在Mac上创建和训练神经网络的新Create ML技术,具有用于评级和评论的新编程界面的更新的Mac App Store(针对macOS 10.14 SDK),新的网络框架,它可以从应用程序直接访问TLS,TCP和UDP网络协议,用于分析自然语音并从中隔离特定语言特定的元数据的自然语言框架(该框架可与创建ML结合使用以训练神经网络)。

但是,最有趣的是隐藏在地下室中,即“弃用和已删除的API”部分中。 它提到了“过时的” OpenGL和OpenCL技术的放弃。 这些技术被授予“黑标”,也就是说,苹果强烈不鼓励在开发新产品时使用OpenGL和OpenCL。

该文件说:“苹果公司会定期向API中添加弃用宏,以指示这些API不应再用于主动开发中。” -当过时时,这并不意味着这些软件接口的寿命即将结束。 这标志着从这些API过渡到正在取代的更新,更现代的替代方案的宽限期的开始。”

Apple指出,过时的API通常保留在系统中,并且在过时的版本发布后可以在“合理的时间内”使用它们。 但是,对其的积极开发停止了,该API仅收到较小的安全更新或其他严重错误。 开发人员被警告, 过时的API可能会从操作系统的将来版本中完全删除

Apple建议尽快删除其代码中的过时API。 至少,新代码永远不要使用OpenGL和OpenCL。 而且,如果某些旧代码使用这些接口,则需要尽快将其替换。

另类:金属


使用OpenGL和OpenCL构建的应用程序将继续在macOS 10.14上运行,但是这些已经过时了。 “使用OpenGL的游戏和图形应用程序现在应该使用Metal。 同样,使用OpenCL进行计算任务的应用程序现在应使用Metal和Metal Performance Shaders。”

Metal-从头开始开发的新软件界面,没有向后兼容性。 苹果公司表示,它们可以更好地访问iOS,macOS以及tvOS设备上的现代图形处理器:“金属避免了过时技术固有的开销,并代表了最新的图形处理功能。 Metal的统一图形和计算支持使应用程序可以利用最新的可视化技术。 有关使用Metal开发应用程序和游戏的信息,请参阅MetalMetal Performance ShadersMetalKit的开发人员文档。”

有关将OpenGL代码迁移到Metal的信息,请参见在视图中混合Metal和OpenGL渲染

Hacker News的开发人员对Apple 持怀疑态度 。 总的来说,共识是:这家公司要么真的讨厌计算机游戏,要么严重遭受拒绝他人发展的综合症(NIH综合症)。 这是一种在社会,公司或组织文化中的立场,出于各种原因,避免使用第三方开发成果:害怕侵犯专利权,对他人作品的误解,不愿承认或欣赏他人的作品,嫉妒或作为更广泛的“领土争夺战”的一部分。 据称,金属技术证实了NIH综合征的存在。

评论员还记得,由于对OpenGL的粗心支持,Mac的Elite Dangerous项目最近不得不关闭

另一方面,今天大多数游戏都是在Unity3D,虚幻引擎和其他支持Metal的引擎上创建的。 恩,无论谁在OpenGL / OpenCL开发上投入时间和金钱,谁都应该责怪。

Source: https://habr.com/ru/post/zh-CN413335/


All Articles