[Development] consistentTiming vs. wayland animation speed

Thomas Senyk thomas.senyk at pelagicore.com
Wed Mar 20 11:57:38 CET 2013


Hi,

when using qtwayland as client && server, then currently the animation speed 
is way too high (~6x what it should be on my machine)
 (got reported by at least one other person in #qt-lighthouse)

I've dug a little bit and found that:
   BufferQueueingOpenGL (QPlatformIntegration::Capability)
is enabled for wayland, which triggers:
   QUnifiedTimer::instance(true)->setConsistentTiming(true);
(see QQuickWindowManager::instance())

Which results in a fixed(!) 'delta' (animation progress 'time') of, in my case 
16, BUT the 'proceed'** isn't done every 16ms, but rather every ~1ms.

If using weston the 'proceed'** is called every ~10-12ms, which is still 
wrong, but way closer then ~1ms ... that's why weston looks ok but 
qtcompositor looks broken.

**QUnifiedTimer::updateAnimationTimers



I'm not sure where to problem originates from and how to fix it ...
My current guess is:
bool QQuickRenderThreadSingleContextWindowManager::event(QEvent *e)
with (e->type() == QEvent_Sync) is called way to often.

It should be called every 16ms (as close as possible) ... shouldn't it?


Can any elaborate what's the use-case for consistent-timing and how it's 
supposed to work?

Greets
Thomas




More information about the Development mailing list