Skip to content

WIP: clutter-master-clock: Remove "idle" detection [performance]

Daniel van Vugt requested to merge vanvugt/mutter:remove-idle-flag into master

The idle flag is used to throttle input events during frames when the stage isn't changing (hardware cursor movements etc). It doesn't have any bearing on frames when the stage is changing at the full hardware refresh rate. It's therefore unclear why the idle flag was ever necessary.

The main problem the idle flag causes is with displays faster than 60Hz. While the stage is busy updating, your cursor moves at the full hardware refresh rate. But as soon as the stage becomes idle your mouse cursor slows down to the fallback 60Hz rate, which is immediately noticeable.

A second problem the idle flag causes is visible stutter in some animations. If the animation is slower than the hardware refresh rate but faster than 60Hz then just moving the mouse can cause an "idle" fallback and inserts a 16ms delay in the rendering loop which appears as stutter to the user.

Edited by Jeff Fortin

Merge request reports