我正在尝试修改 Apple MultiGPUIOSurface 示例(特别是文件http://developer.apple.com/library/mac/#samplecode/MultiGPUIOSurface/Listings/ServerOpenGLView_m.html),以便服务器端渲染到 IOSurface,而不需要一个 NSOpenGLView。
我的修改版本位于:http ://pastebin.com/z3r715jJ 我的方法的不同之处在于我基于计时器而不是在 drawRect 中渲染到 IOSurface。我也没有使用 NSOpenGlView 的上下文。
问题是我在客户端应用程序中看到了 IOSurface 的损坏视图。但是,如果我将 NSOpenGLView 的上下文设置为我创建的上下文,或者使用来自 NSOpenGLView 的上下文,它就可以工作。这让我认为 NSOpenGLView 正在做一些我也需要做的额外事情,但我不确定是什么。