gnome-shell is wasting CPU repainting unchanging panels

Bug #1743976 reported by Daniel van Vugt on 2018-01-18
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
GNOME Shell
Fix Released
Medium
gnome-shell (Ubuntu)
Medium
Daniel van Vugt
Nominated for Bionic by Daniel van Vugt
Nominated for Cosmic by Daniel van Vugt
gnome-shell-extension-ubuntu-dock (Ubuntu)
Medium
Daniel van Vugt
Nominated for Bionic by Daniel van Vugt
Nominated for Cosmic by Daniel van Vugt
Bionic
Undecided
Unassigned

Bug Description

gnome-shell is wasting CPU repainting an unchanging panel and dock. Every time an app window changes all visible actors including the panel get repainted. But the panels mostly doesn't change, so should be cached via offscreen-redirect instead.

[ Impact ]

Ubuntu dock repaints the dock when a window changes

[ Test case ]

- Maximize a window
- Change its content, by acting on it
- Monitor gnome-shell CPU usage, and it should be lower than using previous dock version

[ Possible regression ]

The dock isn't repainted properly or it could produce artifacts in some scenarios

Related branches

summary: - gnome-shell is wasting CPU repainting an unchanging panel
+ gnome-shell is wasting CPU repainting unchanging panels
description: updated
Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
importance: Undecided → Medium
status: New → In Progress
Changed in gnome-shell:
importance: Unknown → Medium
status: Unknown → Confirmed
Changed in gnome-shell:
status: Confirmed → Incomplete
Changed in mutter (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Daniel van Vugt (vanvugt)
Daniel van Vugt (vanvugt) wrote :

This bug is on hold. The conditions required to trigger it are less common, and the benefit of fixing it less significant, than other performance bugs (also in progress right now).

Changed in gnome-shell (Ubuntu):
status: In Progress → Confirmed
Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
status: In Progress → Confirmed
Changed in mutter (Ubuntu):
status: In Progress → Confirmed
Changed in gnome-shell (Ubuntu):
status: Confirmed → Fix Committed
Daniel van Vugt (vanvugt) wrote :

gnome-shell (3.28.1-0ubuntu2) bionic; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * js-ui-Choose-some-actors-to-cache-on-the-GPU.patch:
    - Improve rendering of shell elements moving rendering to GPU
      (LP: #1744001)

  [ Jeremy Bicha ]
  * Cherry-pick polkitAgent-Guard-against-repeated-close-calls.patch:
    - Fix PolicyKit authorization prompt after cancelling once (LP: #1765353)

 -- Marco Trevisan (Treviño) <email address hidden> Mon, 23 Apr 2018 15:29:28 -0500

Changed in gnome-shell (Ubuntu):
status: Fix Committed → Fix Released
no longer affects: mutter (Ubuntu)
Changed in gnome-shell:
status: Incomplete → Fix Released
Daniel van Vugt (vanvugt) wrote :

New upstream fix proposed for the Ubuntu dock:
https://github.com/micheleg/dash-to-dock/pull/859

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
status: Confirmed → In Progress
Daniel van Vugt (vanvugt) wrote :

gnome-shell-extension-ubuntu-dock (64ubuntu1) disco; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * New upstream release: 64
  * dash, docking: remove Shell.GenericContainer.

  [ Adolfo Jayme Barrientos ]
  * Update Spanish translation.

  [ franglais125 ]
  * Settings.ui: Fix GtkEntry property to make the shortcut editable.

  [ Michele ]
  * Add Gnome Shell 3.30 support.
  * Bump version (v64).

  [ vantu5z ]
  * Update Russian translation.

  [ Andrea Azzarone ]
  * docking: Fix leaking signal connection

  [ Michele Gaio ]
  * Update Readme with official extension badge.

  [ Michele ]
  * Add a .default class to the appiconindicators.
  * Make window previews order stable in the dedicated popup (LP: #1809129).
  * Recreate windows preview whenever the popup is open.

  [ Daniel van Vugt ]
  * Avoid repainting an unchanging dock.

 -- Marco Trevisan (Treviño) <email address hidden> Wed, 19 Dec 2018 10:06:26 -0500

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu):
status: In Progress → Fix Released
Daniel van Vugt (vanvugt) wrote :

The nominations are confusing here. Only the ubuntu-dock fix needs backporting. The gnome-shell fix is already in bionic onward.

description: updated

Hello Daniel, or anyone else affected,

Accepted gnome-shell-extension-ubuntu-dock into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-shell-extension-ubuntu-dock/0.9.1ubuntu18.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic
Brian Murray (brian-murray) wrote :

Hello Daniel, or anyone else affected,

Accepted gnome-shell-extension-ubuntu-dock into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-shell-extension-ubuntu-dock/0.9.1ubuntu18.04.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Daniel van Vugt (vanvugt) wrote :

Confirmed ubuntu-dock 0.9.1ubuntu18.04.3 no longer shows any (additional) CPU penalty when a window is updating while touching or under the dock.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell-extension-ubuntu-dock - 0.9.1ubuntu18.04.3

---------------
gnome-shell-extension-ubuntu-dock (0.9.1ubuntu18.04.3) bionic; urgency=medium

  [ Daniel van Vugt ]
  * Avoid repainting an unchanging dock (LP: #1743976).

  [ Andrea Azzarone ]
  * theming: Ensure _trackingWindows contains valid windows (LP: #1769383)
  * extension: Ensure signal disconnection (LP: #1769383)

 -- Marco Trevisan (Treviño) <email address hidden> Mon, 21 Jan 2019 11:39:02 +0100

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu Bionic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for gnome-shell-extension-ubuntu-dock has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Changed in gnome-shell-extension-ubuntu-dock (Ubuntu Bionic):
milestone: none → ubuntu-18.04.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.