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.