我正在做一个 iOS 应用程序,其中我有一个黑盒渲染库,它有自己的 EAGLContext 和帧缓冲区,并进行自己的渲染。我还需要在黑盒库之外进行额外的渲染。
到目前为止,我一直在通过仔细阅读、设置和恢复每一帧的所有相关状态来做到这一点。这有效,但繁琐且难以维护。然后我突然想到,“为什么不使用单独的 EAGLContext 呢?”
我已经实现了第二个上下文,所以现在我正在切换上下文,而不是设置/恢复每帧的所有状态。唯一的问题是我得到了很多视觉伪像,性能从坚如磐石的 30 FPS 到大约 5 FPS...
因此,显然我不打算从多个上下文渲染到同一个帧缓冲区。谁能证实这一点?