Partly update the screen or copying buffers


My application updates the whole screen frequently, but there are a few situations that updates only a very small part of the screen.

I already tried to use glScissor and/or glViewport to make eglSwapBuffers update only a small part, but the rest of the screen is black. Is there a way to let opengl update only a small part of the screen? Or copy the contents of the back buffer into the front buffer and then update the whole screen?



Just updating the entire screen every frame - even if only a part of it needs to be updated - is still likely to be much faster than any tricks to get a partial update (especially tricks that involve copying stuff around). GPUs are designed to work that way, so if you work with them rather than against them you’ll do better.