调用glFramebuffer时driver会执行如下3条命令:
1. 把当前Tile的内容写入FrameBuffer, 此过程称为resolve
2. 设置FrameBuffer指针。
3. 把新FrameBuffer的内容载入Tile。这个过程称为restore
因此glFramebuffer是非常消耗性能的, 可以使用接口来提升性能
glInvalidateFramebuffer 可用来避免resolve
glClear 可用来避免restore
例子:
glBindFramebuffer
glClear avoid restore
glDraw
glInvalidateFramebuffer avoid resolve
网友评论