Gnome 3.34 fixed various performance bugs affecting Ubuntu 19.04

gnome3.34

A few days ago it was done a post on the Ubuntu forum, which heCanonical developers have noted that the desktop environment "Gnome shell" in Ubuntu version 19.04, which is based on Gnome 3.32, it was noticeably slower than other desktop environments.

Initially it was assumed that the reason was the use of JavaScript, but it turned out that JavaScript was only ten percent of the code in the combination of the Gnome Shell along with the Mutter window manager and that this was not actually responsible for the observed slowness.

The next assumption was that the software was overloading the CPU or graphics card. But measurements showed that this was not the case. What emerged instead was that the processors were forced to sit idle for too long.

The important thing to note here is that most of the source code is in the Mutter project, not the Gnome Shell. So overall, only about 10% of the Gnome Shell is written in JavaScript when you consider Mutter, and about 90% is written in C.

Therefore, developers were able to focus their research on timing, referred to in the article as "real time." Because Gnome and Mutter process an event loop Glib each in a single thread, they are prone to delays.

Any longer delay may cause one of the frames to be skipped that make up the image on the monitor. This manifests itself in a noticeable lag for the user on the monitor.

By measuring the various lags, the developers found no less than half a dozen Gnome bugs fixed in Gnome 3.34.

The first error led to the skipping of a frame because after a frame programming delay by a few milliseconds, the time that the frame would have to be rebuilt was incorrectly calculated.

But correcting this error, which did not always occur, made the presentation much smoother.

Second, lThe developers found that almost all the frames were delayed on X.org because the table calculation was set too early. At a frame rate of 60 Hz, the screen was delayed by 16 ms.

In this case Wayland is not affected. Another mistake only concerns Wayland. The problem was that in Mutter, the speed for displaying the mouse pointer was set to 60Hz. This could cause problems of up to 100% CPU usage if the refresh rate were different.

As well Mutter had another problem that has only been partially resolved so far. As a result, all input events were delayed to the next frame, that is, up to 16 ms at 60 Hz.

Another delay was caused by fixes for Nvidia's proprietary drivers on X.org, which are no longer needed now.

And another problem was also highlighted, determines what affects the mouse pointer, in which OpenGL calls were made, this affects extremely and causes additional waiting times due to the necessary synchronization between the CPU and the GPU.

As a result, Gnome 3.34 is significantly faster. Ya at least two other problems are known that have not yet been resolved.

  1. When using multiple monitors, crashes on the Wayland backend cause significant delays. This should be fixed according to the developers on Gnome 3.36 and thus Ubuntu 20.04 as well.
  2. The second problem is that not all the delays at Mutter are resolved yet. The article concludes with tips on what mistakes to avoid when troubleshooting and perspective on what to do next.

Optimizing Gnome should be for Ubuntu 20. 04 in a number of improvements What should they focus on? on modern and fast hardware. The remaining issues affecting older and slower computers need to be addressed and resolved in Ubuntu 20.10.

If you want to know more about the publication, you can check the following link. 


Be the first to comment

Leave a Comment

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

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.