dan*_*zlo 18 iphone graphics opengl-es objective-c ios
我EAGLContext presentRenderbuffer
在iOS 11上遇到了很多崩溃,但仅限iPhone 6/6 +及更早版本.
根据这篇文章,我认为我们已经通过重写所有不使用VBO/VAO来排除与VBO相关的问题,但崩溃并没有解决.
还有一些关于此问题的其他问题,但没有解决方案 - 还有其他人看到过这次崩溃的上升并且能够解决它吗?
TL; DR:
这是我们目前所知道的:
到目前为止我们尝试了什么:
一些线索(可能相关但不一定):
这是堆栈跟踪:
libGPUSupportMercury.dylib gpus_ReturnGuiltyForHardwareRestart
1 AGXGLDriver gldUpdateDispatch
2 libGPUSupportMercury.dylib gpusSubmitDataBuffers
3 AGXGLDriver gldUpdateDispatch
4 GLEngine gliPresentViewES_Exec
5 OpenGLES -[EAGLContext presentRenderbuffer:]
Run Code Online (Sandbox Code Playgroud)
小智 2
根据我的经验,我在这些情况下会遇到这种崩溃:
UIApplicationStateBackground
。希望这能在某种程度上有所帮助。
PS也许你能告诉一些有关你的应用程序的更多信息?我编写了在 iOS 上渲染矢量地图的应用程序,目前 iOS 11 不会遇到任何问题。渲染管道非常简单,CADisplayLink
当我们可以渲染下一帧时,在主线程上调用回调。每个具有 OpenGL 场景的视图都可以有多个后台上下文来在后台加载资源(ofc 它与主上下文具有相同的 shareGroup)。