I am seeing some performance issues on an application and there seems to be a delay when I call glBindFramebuffer(). The application renders mainly 2D content with OpenGL ES 2.0. The glBindFramebuffer call seems to take 50ms. This is true even when the FBo is 0. Has anyone seen this before, is there something happening under the covers I need to be aware of? I am not sure what other information to give on this issue, let me know and I can provide it.
Have you ran PVRTune on your target device? This should make it much easier to understand the bottleneck you are hitting. Also, can you run your application with the device’s vsync disabled?
My first impression is that the time you are seeing is caused by the device’s vsync, i.e. the driver is blocking during the bind call as it’s waiting for a surface to be freed for the GPU to render to.