Sunday 25 March 2018

An Important GNOME Performance Fix Has Landed

GNOME contributor Yussuf Khalil has managed to uncover and resolve a bug in Clutter that was hurting GNOME's performance.

The developer has begun analyzing GNOME performance issues and one of the first things he uncovered were frequent spikes in GNOME's frametimes at regular intervals. He ended up finding out that the frequent spikes were caused by showing the seconds on the clock within GNOME Shell.

While not showing the seconds on the time make the large spikes in frame time go away, he uncovered the root cause within Clutter's text rendering code. Yussuf discovered that whenever the text changed, the layout of the text was recalculated. In the case of seconds on a clock, the layout though obviously should never need to change. With his minor patch, Clutter now checks to see if the size of the text is the same as before, if so only a redraw is triggered and not the entire re-layout process.

With this fix, the median frame-time drops from 16.97ms to 12.97ms.

The fix has been

merged

for GNOME 3.30 though there is also a request to get it back-ported to GNOME 3.28.

Coming up in May is a GNOME Performance Hackfest in Cambridge, so there will hopefully be more performance improvements to pass along for GNOME 3.30.



Read the full article here by Phoronix

No comments: