Three things I have found that solve the stuttering from premature CPU scaling on Android:
* Don't use nesting. Having a single server architecture seems to keep it smooth. * Don't use double buffering (bug 1240909). Staying busy pre-rendering that third buffer keeps clocks higher and smoother. * Just wastefully spin a CPU core. Annoyingly, wasting power makes graphics visibly smoother. Hopefully we can find more options. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1488386 Title: [performance] Double buffering is only smooth while you're touching it Status in Mir: New Status in QtMir: New Status in mir package in Ubuntu: New Status in qtmir package in Ubuntu: New Bug description: On some devices (mako at least) it's possible to force double buffering and it will often keep up: restart unity8 QML_NO_TOUCH_COMPRESSION=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: /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. To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1488386/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp