Open GL performance testing with glFinish

I know that OS X is not a realtime OS. But if I measure the execution time of a block of OpenGL commands between two glFinish commands I would expect that the time is nearly the same.


glFinish

start = current time

some OpenGL commands that are not CPU bound

glFinish

end = current time

execution time = end - start


On our current hardware platform this give a good time measurement. On the Mac I have mostly the same execution times (e.g. 1ms) but then some peaks (up to 15ms). The code is running on a own dispatch queue with qos level set to user-interactive.


Can someone explain me why we get these strange performance peaks. There are no disk operations or other time critical things in the OpenGL block.

Open GL performance testing with glFinish
 
 
Q