GNOME's Magnifier Will Now Avoid Double Painting The Desktop
Canonical's Daniel Van Vugt continues working on some important performance fixes for the GNOME desktop.
Nine months ago he discovered that the GNOME Shell "magnifier" is rather inefficient with its full-screen zoom mode. If making use of this desktop magnifier, it's still painting the unmagnified version to the screen and then the magnified copy over it. That painting of the unmagnified version is a waste of resources given the magnified version covers the entire desktop. Plus in some cases the unmagnified version can glitch with elements appearing with the overlay.
Van Vugt has now merged a fix to avoid painting the desktop that's fully occluded by its clone. He notes that this "significantly reduces the render time" when making use of the GNOME Shell fullscreen zoom mode. The fix was just three lines of code and now upstream for GNOME Shell 41.
Separately, he's also now been working on unifying buffer management in Mutter across all plane types. This in turn will make his other big projects around overlay planes, triple buffering, and multi-cursor support easier. That dynamic triple buffering work for GNOME remains a work-in-progress and not expected to be completed this current cycle, possibly for GNOME 42.
Nine months ago he discovered that the GNOME Shell "magnifier" is rather inefficient with its full-screen zoom mode. If making use of this desktop magnifier, it's still painting the unmagnified version to the screen and then the magnified copy over it. That painting of the unmagnified version is a waste of resources given the magnified version covers the entire desktop. Plus in some cases the unmagnified version can glitch with elements appearing with the overlay.
Van Vugt has now merged a fix to avoid painting the desktop that's fully occluded by its clone. He notes that this "significantly reduces the render time" when making use of the GNOME Shell fullscreen zoom mode. The fix was just three lines of code and now upstream for GNOME Shell 41.
Separately, he's also now been working on unifying buffer management in Mutter across all plane types. This in turn will make his other big projects around overlay planes, triple buffering, and multi-cursor support easier. That dynamic triple buffering work for GNOME remains a work-in-progress and not expected to be completed this current cycle, possibly for GNOME 42.
27 Comments