Curiously however it only keeps up smoothly (eg. during a dash scroll) while you're touching the screen. If you lift off or fling the dash then it immediately stutters, quite badly.
So the issue is not that the device can't keep up with double buffering. It seems more like we're not keeping the kernel sufficiently awake and it's clocking down prematurely, as soon as we're not touching it. Certainly adjusting the variables in:
/sys/devices/system/cpu/cpu0/cpufreq
it is possible to raise the performance and minimum frequency to make double buffering smooth.
The challenge of this bug is to find a way in Mir/QtMir to keep the kernel more awake so it doesn't clock down when we need smooth animations and we're not touching the screen.
On some devices (mako at least) it's possible to force double buffering and it will often keep up:
restart unity8 QML_NO_ TOUCH_COMPRESSI ON=1 MIR_SERVER_ NBUFFERS= 2
Curiously however it only keeps up smoothly (eg. during a dash scroll) while you're touching the screen. If you lift off or fling the dash then it immediately stutters, quite badly.
So the issue is not that the device can't keep up with double buffering. It seems more like we're not keeping the kernel sufficiently awake and it's clocking down prematurely, as soon as we're not touching it. Certainly adjusting the variables in: devices/ system/ cpu/cpu0/ cpufreq
/sys/
it is possible to raise the performance and minimum frequency to make double buffering smooth.
The challenge of this bug is to find a way in Mir/QtMir to keep the kernel more awake so it doesn't clock down when we need smooth animations and we're not touching the screen.