(In reply to comment #9) > No effect I'm afraid. Since this is a full screen application I assume it > was already using flipping and not blitting anyway? Probably. For the sake of testing, have you tried disabling page flipping in addition to SwapBuffersWait? (In reply to comment #12) > Down to dri2_drawable_get_buffers() now. I assume I'll be hitting a point > where I'll have to switch over to looking in the X server soon... Yep, it's waiting for DRI2 buffer information from the X server, which is delayed until the previous buffer swap actually finishes. FWIW, you might get somewhat less confusing timings if you call glFinish() before glXSwapBuffers().