Ubuntu 20.04 Is Ridiculously Responsive, But Why?

If you’re an Ubuntu user who prefers stability and long OS cycles, you’ve probably skipped the Ubuntu 19.04 and 19.10 interim releases. So if you’ve recently upgraded to Ubuntu 20.04 LTS, you’ve undoubtedly noticed how much faster and responsive your desktop is now — even when running it from a Live USB — compared to Ubuntu 18.04. That’s because heaps of subtle improvements by Canonical and the GNOME desktop team throughout the last 2 years adds up to dramatic boost in usability and performance. And some of those tweaks are downright science-y!


You may have sorely missed Unity when Canonical replaced it with Gnome 3.28 in Ubuntu 18.04. That’s because even when Ubuntu 19.04 shipped, Canonical itself admitted that Gnome “feels slower than Unity and other desktops” — even on a high-end PC.

Beginning with Ubuntu 19.10 last year, Canonical doubled down on making substantial Gnome 3.34 desktop improvements, paying special attention to responsiveness and overall speed. This continued with Ubuntu 20.04 LTS and Gnome 3.36.

Ubuntu 19.10 And Gnome 3.34: Killing The Latency


When Ubuntu 19.10 was released, I wrote that upgrading to it felt like upgrading to a FreeSync or G-Sync display. Something dramatic and borderline magical had happened, but what?

Canonical’s Daniel Van Vugt explained that they started seeking out “cold spots.” Think of a cold spot as Gnome Shell sitting idle for even a few milliseconds when it should be updating the frame being displayed onscreen.

To do this, the team conducted real-time performance analysis using Google Profiler. Combined with Intel’s Mesa driver, they were able to pinpoint where the CPU or GPU had “stalled,” resulting in increased visual latency. You might refer to it as “lag.” And those milliseconds add up.

This led to the zapping of numerous bugs, including one that caused Xorg sessions to be one frame “laggier” than Wayland sessions. Want to read the technical stuff? Click here. Or read Daniel Van Vugt’s complete blog post from last year.


Ubuntu 20.04 And Gnome 3.36: Fire Photons!

With the latest release of Ubuntu, Canonical practically tickled my science fiction sensibilities. I was also surprised to learn that mouse movement invoked. . . Javascript?

Let’s start with the photon angle, and I’ll quote the brilliant Van Vugt directly:

“An animation is just when something moves through both time and space. But even animations that didn’t skip frames (were smooth in time) weren’t looking as smooth as they could be. Now we sync those positions to the strict interval your screen will emit the photons on, so there’s a slight improvement in visible smoothness. And since we’re now being very specific about when photons get emitted we can synchronise the screen contents more closely to the mouse pointer (which is actually separate to the screen contents). So when you drag windows around in Ubuntu 20.04 they will stick to the mouse pointer more closely.”

Speaking of mouse movement, today I learned that whisking around the mouse used to involve JavaScript. In his latest blog post, Van Vugt humorously explains that “executing JavaScript isn’t objectively slow, but it is much slower than not executing JavaScript.” But that’s apparently a thing of the past now, which also means a touch less CPU and battery usage during mouse movement.

There are a number of other small but fascinating tweaks to Gnome 3.36, including reducing the amount of RAM consumed by display scaling, smoother window sliding animations, and faster loading of the icon grid.

Like I always say: it’s the little things. Collectively, these combine to make Ubuntu 20.04 (and of course all other distros that use the newest Gnome desktop) feel gloriously responsive.

If you’re jumping from Ubuntu 18.04 to Ubuntu 20.04, enjoy the upgrade. The difference is like night and day.

(By the way, Van Vugt has also linked directly to the zapped bugs so you can track the progress with your own eyes.)

13 thoughts on “Ubuntu 20.04 Is Ridiculously Responsive, But Why?

Leave a Reply

Your email address will not be published. Required fields are marked *