您的应用程序在呈现渲染缓冲区之前调用了 glInvalidateFramebuffer
Your app called glInvalidateFramebuffer before presenting renderbuffer
"Your app called glInvalidateFramebuffer
before presenting renderbuffer" 是我在行中收到的错误消息:
int retVal = UIApplicationMain(argc, argv, nil, @"myAppDelegate");
我的 main.m 文件。
我的项目中没有一次调用 glInvalidateFramebuffer
方法。更何况,项目使用的是OpenGL ES 2.0(运行一GLKView
),有问题的方法是OpenGL ES 3.0的一部分。
我使用许多屏幕外帧缓冲区来绘制程序纹理。此错误未在 iOS 10 之前通知。此外,它不会阻止渲染,不会显示任何可见问题,并且无法使用捕获帧指示其在代码中的确切位置(main.m
除外) .
仅供参考。当我执行多重采样抗锯齿时,我在 Instruments 8 中收到相同的消息,但切换到 Instruments 7 时消息消失了。我不是 运行 GLKView,而是 CAEAGLLayer。
这几乎可以肯定是 XCode 的 GPU 报告误报。
呈现时,不再需要多样本缓冲区和深度缓冲区。
多样本缓冲区已经解决,为了呈现像素,深度值不再是必需的。
这意味着 GLKView 做了正确的事情:在呈现之前使它们无效。
注意:错误警告随着 GLKViewDrawableMultisampleNone 而不是 4x 消失。
所以在GLK的情况下,是解析后多样本缓冲区失效触发的
"Your app called glInvalidateFramebuffer
before presenting renderbuffer" 是我在行中收到的错误消息:
int retVal = UIApplicationMain(argc, argv, nil, @"myAppDelegate");
我的 main.m 文件。
我的项目中没有一次调用 glInvalidateFramebuffer
方法。更何况,项目使用的是OpenGL ES 2.0(运行一GLKView
),有问题的方法是OpenGL ES 3.0的一部分。
我使用许多屏幕外帧缓冲区来绘制程序纹理。此错误未在 iOS 10 之前通知。此外,它不会阻止渲染,不会显示任何可见问题,并且无法使用捕获帧指示其在代码中的确切位置(main.m
除外) .
仅供参考。当我执行多重采样抗锯齿时,我在 Instruments 8 中收到相同的消息,但切换到 Instruments 7 时消息消失了。我不是 运行 GLKView,而是 CAEAGLLayer。
这几乎可以肯定是 XCode 的 GPU 报告误报。
呈现时,不再需要多样本缓冲区和深度缓冲区。 多样本缓冲区已经解决,为了呈现像素,深度值不再是必需的。
这意味着 GLKView 做了正确的事情:在呈现之前使它们无效。
注意:错误警告随着 GLKViewDrawableMultisampleNone 而不是 4x 消失。
所以在GLK的情况下,是解析后多样本缓冲区失效触发的