Bug 156844

Summary: Poor plasma performance after wallpaper change
Product: [Unmaintained] plasma4 Reporter: Stephen <marsmissionaries>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: antjbryant
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Stephen 2008-01-28 11:30:17 UTC
Version:            (using Devel)
Installed from:    Compiled sources
OS:                Linux

When changing the wallpaper background in plasma, things that are animated have poor performance, this included the animation of the desktop toolbox expansion, mouse over and mouse out fade ins and outs of taskbar items, and applet handle animation performance. Also, as a whole the performance seems to fall.


Before changing the wallpaper, it is all very quick. I think it may be related to the animation associated with changing to a new wallpaper.

After restarting the session, it performs well again.
Comment 1 Anthony Bryant 2008-01-28 21:02:26 UTC
This happens for me as well, after changing wallpaper it looks like animation effects make Xorg take up a lot of CPU. I've had to turn the wallpaper off slideshow until this gets fixed, as it's too much of a performance hit.
Comment 2 Sebastian Kügler 2008-01-28 23:04:12 UTC
Maybe that's the pixmap cache flowing over?
Comment 3 Alexis MENARD 2008-01-28 23:06:38 UTC
For example, in frame applet when you add the slideshow function, it take time and freeze a little time plasma process during the rendering of the new photo
Comment 4 Anthony Bryant 2008-01-29 01:13:51 UTC
That doesn't sound like it to me, I've tried the frame applet and it doesn't give me a performance hit at all after the initial loading of the images (I even tried setting the interval to 1 second with the same images I use as my wallpaper).
The problem begins after the wallpaper is set and lasts until, as far as I can see, the end of the session.
Comment 5 Marco Martin 2008-01-30 16:37:30 UTC
i also have the problem i think was is introduced when a phase animation was used for the slideshow
the part
if (m_fadeOutAnimId) {
            painter->drawPixmap(option->exposedRect, Plasma::Phase::self()->animationResult(m_fadeOutAnimId), option->exposedRect);
        }
        if (m_fadeInAnimId) {
            painter->drawPixmap(option->exposedRect, Plasma::Phase::self()->animationResult(m_fadeInAnimId), option->exposedRect);
        }
in desktop.cpp around line 435 seems to be a resource hog, is there a simple way to check if that two phase anims are completed (and therefore paint the background in the usual way)?
Comment 6 Andre Moreira Magalhaes 2008-01-30 18:47:51 UTC
Hi, I just checked this out and it really is a problem caused by my last commit (animate the background change). I am going to revert this until I have time to fix it.
Actually I am going to send a mail to plasma-devel regarding a problem in Plasma::Phase that needs to be fixed before I fix this code.
Sorry for the inconvenient