There are a number of OpenGL ES function calls that can cause the graphics pipeline to stall. Avoid using these calls because they can have a significant impact on performance.
Some OpenGL ES function calls read from the framebuffer. To do this, the Mali GPU must first render the entire image before you can read back from it. This operation is likely to be slow.
It is best to avoid the following OpenGL ES calls because they can stall the graphics pipeline:
This call stalls the graphics pipeline and this can lead to a significant performance reduction. Avoid calls to
glReadPixels()if at all possible.
ARM recommends that if you are using OpenGL ES 2.0, you use FBOs instead of this call. These enable you to draw directly to a texture rather than using copies.
This does not normally stall the pipeline, but it can stall it if you attempt to modify a pixmap image or FBO rendertarget that has not completed rendering.