Comment 28 for bug 981199

Revision history for this message
Daniel Schürmann (daschuer) wrote : Re: Waveform 2.0 is jerking

It was tested with Ubuntu Precise and Qt 4.8 and radeon driver 1:7.0.99

I wonder why apple has so different results.
Is QGLContext::swapBuffers() called from qgl_x11.cpp?
and is finally line #974 glXWaitVideoSyncSGI(interval + 1, (counter + interval) % (interval + 1), &counter); ?

It must be either glXWaitVideoSyncSGI is broken or something magical happens.
Can you measure the maximum time for glXWaitVideoSyncSGI with Mac?
On Linux it has a maximum value of up to 16 ms

Can you also attach the output of glxinfo?

The mesa drivers by default delays the buffer swap internal by default to avoid tearing. This is in generally a better approach but this will delay the following draw on the buffer until the first swap is actually finished. (glXSwapIntervalMESA)

If we rely on an CPU driven ms timer, we will always have those lasy waits (hopefully implemented as sleep()) in our GUI thread.
Because of that I have introduced an additional thread which managed the waiting for sync /mixxx/src/waveform/vsyncthread.h