小编use*_*195的帖子

逻辑缓冲区加载 - 慢帧缓冲加载 - ios

我们试图弄清楚为什么我们在iphone 4和ipad 1上的FPS相对较慢.我们在开放式GL分析中看到了这类警告:逻辑缓冲区负载.摘要是"慢帧缓冲加载".建议说在渲染之前必须由GPU加载帧缓冲.它建议我们无法在每帧的开头执行全屏清除操作.但是,我们正在使用glClear.

[EAGLContext setCurrentContext:_context];

glBindFramebuffer(GL_FRAMEBUFFER, _defaultFramebuffer);
glClear(GL_COLOR_BUFFER_BIT);

// Our OpenGL Drawing Occurs here
Run Code Online (Sandbox Code Playgroud)

...... ......

// hint to opengl to not bother with this buffer
const GLenum discards[]  = {GL_DEPTH_ATTACHMENT};
glBindFramebuffer(GL_FRAMEBUFFER, _defaultFramebuffer);
glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, discards);

// present render
[_context presentRenderbuffer:GL_RENDERBUFFER];
Run Code Online (Sandbox Code Playgroud)

我们实际上并没有使用深度或模板缓冲区.

当我们将纹理渲染为切片时会发生这种情况,并且每次加载新切片时都会发生这种情况.它指向我们的glDrawArrays命令.

关于我们如何摆脱这种警告的任何建议?

如果它有帮助,这就是我们设置图层的方式:

eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
                                [NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking,
                                kEAGLColorFormatRGB565, kEAGLDrawablePropertyColorFormat,
                                nil];
Run Code Online (Sandbox Code Playgroud)

opengl-es framebuffer ios opengl-es-2.0

13
推荐指数
1
解决办法
2332
查看次数

标签 统计

framebuffer ×1

ios ×1

opengl-es ×1

opengl-es-2.0 ×1