background: don't use raise_top() since it's costly

We currently resync the stacking order of the two key frames
every iteration of the animation.  This is costly and unnecessary.

This commit ensures they're stacked properly up front and doesn't
touch them after that.

https://bugzilla.gnome.org/show_bug.cgi?id=694993
This commit is contained in:
Ray Strode 2013-03-05 15:39:29 -05:00
parent 1566a4e607
commit 020128b9ca

View File

@ -356,7 +356,7 @@ const Background = new Lang.Class({
let actor = new Meta.BackgroundActor(); let actor = new Meta.BackgroundActor();
actor.content = content; actor.content = content;
this.actor.add_child(actor); this.actor.insert_child_at_index(actor, index);
this._images[index] = actor; this._images[index] = actor;
this._watchCacheFile(filename); this._watchCacheFile(filename);
@ -372,10 +372,8 @@ const Background = new Lang.Class({
}, },
_updateAnimationProgress: function() { _updateAnimationProgress: function() {
if (this._images[1]) { if (this._images[1])
this._images[1].raise_top();
this._images[1].opacity = this._animation.transitionProgress * 255; this._images[1].opacity = this._animation.transitionProgress * 255;
}
this._queueAnimationUpdate(); this._queueAnimationUpdate();
}, },