当 OSX 不再支持 OpenGL 时,SDL 还会正式支持 OSX 吗?

Will SDL still officially support OSX when OSX no longer supports OpenGL?

SDL 声称正式支持 OSX,但 XCode 告诉我 OpenGL 已弃用。 随着 OSX 继续逐步停止对 OpenGL 的支持,我可以依靠使用 SDL(在 OSX 上)吗?

只有开发人员才能确定,但​​我不会担心。

SDL2 的后端不仅仅是 OpenGL。还可以在其他图形 API 之上模拟 OpenGL。

  1. 根据官方描述,Simple DirectMedia Layer (SDL) 是一个跨平台开发库,旨在通过以下方式提供对音频、键盘、鼠标、操纵杆和图形硬件的低级访问OpenGL 和 Direct3D。

同时,SDL 不提供任何 abstraction layer over graphics APIs for 3D rendering - 应用程序本身负责使用 OpenGL、Direct3D 或其他任何工具实现高效 (3D) 渲染。

问题是,您的应用程序实际需要从 SDL 获得什么?如果只是window/input管理,那么macOS平台上的OpenGL支持只是无关紧要的细节。

SDL2 已经支持 Metal and Vulkan 渲染提示,虽然有些帖子说 Metal 提示比 OpenGL 渲染提示慢(例如,使用 Metal 时 2D 渲染可能不是硬件加速的,但将来可能会改变) . SDL的实际用户可能会在其他答案/评论中分享自己的经验。

  1. Apple 已弃用 macOS 平台内的系统 OpenGL 库,但 OpenGL 仍然存在并可运行,包括最新的 macOS Big Sur 版本和 Apple M1 GPU。

到目前为止,Apple 还没有透露在最近的将来实际删除 OpenGL 的计划,弃用并不一定意味着删除 - 它可能只是意味着 OpenGL 支持有限并且不再接收功能更新(这是显而易见的在正式弃用之前,因为实现在 OpenGL 4.1 上停留了很多年)。

在正式宣布删除计划之前,我不担心 macOS 平台上的 OpenGL 支持很快就会停止。将来,OpenGL 可能会在 App Store 提交规则中被列入黑名单,就像 UIWebView.

所做的那样
  1. Apple 的 OpenGL 并不是 macOS 上唯一可用的 OpenGL 实现选项 - 将来还有 需要考虑。因此,即使 OpenGL 实际上作为系统库被删除,也不意味着现有的 OpenGL 应用程序无法使用。