首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在后台线程上渲染OpenGL,并且仍然可以在Mac中使用Cocoa控件

在后台线程上渲染OpenGL,并且仍然可以在Mac中使用Cocoa控件
EN

Stack Overflow用户
提问于 2013-01-11 04:57:14
回答 1查看 682关注 0票数 0

我正在开发一个基于OpenGL的mac控件。目前,我正在使用NSOpenGLView和CVDisplayLink来协调后台线程上的渲染。这很好用,但我需要允许Cocoa控件在这个基于OpenGL的控件上显示。

我知道你可以通过在无边框窗口中放置你的Cocoa控件来做到这一点,然而,对于我的用户来说,这似乎不是一个很好的工作流程。

或者,我可以让视图分层,然后让它工作,但是我不喜欢在主线程上呈现我的OpenGL内容,有时当帧速率下降时,它会阻塞主线程。

有没有什么例子可以说明如何做到两全其美呢?

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 05:28:55

渲染的后台线程完全无关紧要。您只需要为视图启用图层支持,然后子视图/控件将正确地组合到您的OpenGL内容之上。您还可以使用CAOpenGLLayer对CALayers进行更显式的分层。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14267147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档