[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