glFinish() is actually less efficient