After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 735638 - Adapt to Mutter background changes
Adapt to Mutter background changes
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on: 735637
Blocks:
 
 
Reported: 2014-08-28 20:38 UTC by Owen Taylor
Modified: 2014-09-03 17:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Adapt to Mutter background changes (41.03 KB, patch)
2014-08-28 20:38 UTC, Owen Taylor
committed Details | Review
Clean up objects MetaBackgroundActor vs. BackgroundActor (17.31 KB, patch)
2014-09-03 03:00 UTC, Owen Taylor
none Details | Review
Remove BackgroundActor delegate class (19.34 KB, patch)
2014-09-03 17:05 UTC, Owen Taylor
committed Details | Review

Description Owen Taylor 2014-08-28 20:38:09 UTC
The rewrite of Mutter's background code (see bug 735637) requires
corresponding changes here - we no longer need to layer multiple
MetaBackgroundActors together.

The general strategy is that a BackgroundSource object is created
per GSettings schema, and keeps either one Background/MetaBackground pair,
or, for animation, a Background/Metabackground pair for each monitor.
Comment 1 Owen Taylor 2014-08-28 20:38:12 UTC
Created attachment 284754 [details] [review]
Adapt to Mutter background changes
Comment 2 Owen Taylor 2014-08-28 20:40:58 UTC
Some performance numbers

1600x1200 resolution, perf-background.xml

# Time to redraw the main view, full screen
haswell:  mainViewRedrawTime 2285 => 2155
llvmpipe: mainViewRedrawTime 13376 => 12602

# Time to redraw the overview, full screen, 5 windows
haswell: overviewRedrawTime 5873 => 3700
llvmpipe: overviewRedrawTime 60280 => 21414

2560x1440 resolution, "solid" background from control center
(solid is solid + noise texture)

haswell: mainViewRedrawTime 3297 => 3119
haswell: overviewRedrawTime: 6962 => 4904
Comment 3 Owen Taylor 2014-09-03 03:00:10 UTC
Created attachment 285214 [details] [review]
Clean up objects MetaBackgroundActor vs. BackgroundActor

This is a cleanup patch based on IRC comments from Jasper, what it
basically does is:

 * Rename BackgroundActor to BackgroundActorDelegate
 * Consistently refer to background actors as backgroundActor and
   not background
 * Refer to delegates as 'delegate' or 'backgroundActor._delegate'
   and never as backgroundActor.

It also fixes up property lists to the style they were in before.
Comment 4 Owen Taylor 2014-09-03 17:05:42 UTC
Created attachment 285269 [details] [review]
Remove BackgroundActor delegate class

This is a cleanup patch based on IRC comments from Jasper, what it
basically does is:

 * Remove BackgroundActor, use (newly added) properties on
   MetaBackgroundActor for tweening.
 * Fix a race where a background change during the tween between
   backgrounds would leave things in an inconsistent state and
   could potentially leak backgrounds.
 * Consistently refer to background actors as backgroundActor and
   not background.

(Patch also fixes up property lists to the style they were in before)
Comment 5 Owen Taylor 2014-09-03 17:46:35 UTC
Squashed and pushed.

Attachment 284754 [details] pushed as 650dea0 - Adapt to Mutter background changes