我正在使用 OpenGL ES 在 CADisplayLink 上渲染场景:
self.displayLink = CADisplayLink(target: self, selector: #selector(self.updateOpenGL))
self.displayLink!.frameInterval = 1
self.displayLink!.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)
如果我后台应用程序并转到 Spring Board,当我恢复应用程序时,渲染会继续。
但是,如果我将应用程序置于后台,打开另一个应用程序(例如日历),当我将应用程序带回前台时,屏幕就不再呈现了。如果我使用 Xcode 暂停执行,或在渲染管道中的断点处停止,DisplayLink 仍在运行并执行我的 OpenGL 渲染代码。
任何想法为什么?