我正在开发基于 OpenGL 的 mac osx 控件。目前我正在使用 NSOpenGLView 和 CVDisplayLink 来协调我在后台线程上的渲染。这很好用,但我需要允许 Cocoa 控件显示在这个基于 OpenGL 的控件上。
我意识到您可以通过将 Cocoa 控件放在无边框窗口中来做到这一点,但是,对于我的用户来说,这似乎不是一个很好的工作流程。
或者,我可以让视图层支持并且我得到了它的工作,但是我不喜欢在主线程上渲染我的 OpenGL 内容,有时它会在帧速率下降时阻塞主线程。
是否有任何示例展示了如何实现两全其美?