当 OSX 不再支持 OpenGL 时,SDL 是不是仍会正式支持 OSX?
Posted
技术标签:
【中文标题】当 OSX 不再支持 OpenGL 时,SDL 是不是仍会正式支持 OSX?【英文标题】:Will SDL still officially support OSX when OSX no longer supports OpenGL?当 OSX 不再支持 OpenGL 时,SDL 是否仍会正式支持 OSX? 【发布时间】:2021-06-17 15:21:31 【问题描述】:SDL 声称正式支持 OSX,但 XCode 告诉我 OpenGL 已弃用。 随着 OSX 继续逐步停止对 OpenGL 的支持,我可以依赖使用 SDL(在 OSX 上)吗?
【问题讨论】:
【参考方案1】:-
根据官方描述,Simple DirectMedia Layer (SDL) 是一个跨平台开发库,旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、游戏杆和图形硬件的低级访问。时间>
同时,SDL 不提供任何abstraction layer over graphics APIs for 3D rendering - 应用程序本身负责使用 OpenGL、Direct3D 或其他方式实现高效 (3D) 渲染。
问题是,您的应用程序实际上需要 SDL 提供什么?如果它只是一个窗口/输入管理,那么 macOS 平台上的 OpenGL 支持只是一个无关紧要的细节。
SDL2 已经支持 Metal 和 Vulkan 渲染提示,尽管一些帖子说 Metal 提示的工作速度比 OpenGL 慢(例如,使用 Metal 时 2D 渲染可能没有硬件加速,但将来可能会改变) . SDL 的实际用户可能会在其他答案/cmets 中分享他们自己的经验。
-
Apple 已弃用 macOS 平台中的系统 OpenGL 库,但 OpenGL 仍然存在并且可以运行,包括最新的 macOS Big Sur 版本和 Apple M1 GPU。
到目前为止,Apple 尚未透露在最近的将来实际移除 OpenGL 的计划,而弃用并不一定意味着移除 - 这可能只是意味着 OpenGL 支持有限并且不再接收功能更新(这在官方之前就很明显了弃用,因为实现在 OpenGL 4.1 上停留了很多年)。
在正式宣布移除计划之前,我不会担心 macOS 平台上的 OpenGL 支持很快就会停止。将来,OpenGL 可能会被列入 App Store 提交规则的黑名单,就像 UIWebView 所做的那样。
-
Apple 的 OpenGL 并不是 macOS 上唯一可用的 OpenGL 实现选项 - 未来还有 other projects 可供考虑。所以即使 OpenGL 真的作为系统库被移除了,也不代表现有的 OpenGL 应用就不能使用了。
【讨论】:
【参考方案2】:只有开发人员可以肯定地告诉你,但我不会担心。
SDL2 拥有比 OpenGL 更多的后端。此外,可以在其他图形 API 之上模拟 OpenGL。
【讨论】:
SDL_Renderer 的 OpenGL ES 2.0 后端在 ANGLE 之上 Zink 在 MoltenVK 之上:只有网络!以上是关于当 OSX 不再支持 OpenGL 时,SDL 是不是仍会正式支持 OSX?的主要内容,如果未能解决你的问题,请参考以下文章
OSX 上的 SDL + OpenGL:NSAutoreleaseNoPool()
在 OSX 上的核心配置文件上获取可用的 opengl 扩展