Bug 213708

Summary: Slideshow wallpaper disrupts system responsiveness when changing
Product: [Unmaintained] plasma4 Reporter: Matt Whitlock <kde>
Component: wallpaper-imageAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: normal CC: asraniel, borkdox, davide.bettio, kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matt Whitlock 2009-11-08 17:38:12 UTC
Version:            (using KDE 4.3.3)
Compiler:          gcc (Gentoo 4.4.2 p1.0) 4.4.2 
OS:                Linux
Installed from:    Gentoo Packages

Whenever the slideshow desktop wallpaper changes the wallpaper, the entire system comes to grinding halt for a second or two.  It is as though decoding and/or scaling the new wallpaper are being done in a very high-priority thread, and everything else has to wait.  Even keyboard input queues up and is only processed by the foreground application after the wallpaper changes.

If it matters, I am using a single 2560x1600 monitor on an NVIDIA GeForce 8600 GT (PCI-E 16x, 256 MB) with the 190.42 NVIDIA proprietary driver.  My wallpapers are typically 1920x1200 or 2560x1600 JPEGs that are 0.5 to 2 MB in size, so decoding and potentially scaling them is not a trivial computational task.  I have compositing enabled in X and in KWin.

An interesting note is that a completely independent X.org X11 server instance (a separate X process running on a different virtual terminal, with only MPlayer as a client, no KDE at all, not even KWin) suffers from the same periodic, momentary hang caused by the wallpaper changing in the first X instance.  This leads me to believe it's not a problem in the X server, since the second, independent X process is also affected by the wallpaper changing.

Could the wallpaper change be done in a lower-priority thread so as not to disrupt system responsiveness?  It doesn't really matter if it takes several seconds to render the new wallpaper if I don't notice it happening.  At present, I definitely notice it because everything stops responding briefly.
Comment 1 Oscar 2010-03-09 18:06:25 UTC
I experience the same bug under KDE SC 4.4.1.  

It is very annoying, especially when video slows down/stutters every time the wallpaper transitions.

Xorg 1.7.5.901, xf86-video-radeon (git), mesa/libdrm/etc.. (git), Kernel 2.6.33 (KMS enabled).
Comment 2 Davide Bettio 2010-03-09 18:57:19 UTC
This bug has been fixed on other platforms but not on Linux. We are using a different thread for the wallpaper renderer but according to Qt documentation it's not possible to have threads with different priorities on Linux platform.
http://doc.trolltech.com/4.6/qthread.html#setPriority
Please, report this bug to kernel developers.
Comment 3 Matt Whitlock 2010-03-09 19:12:17 UTC
(In reply to comment #2)
> it's not possible to have threads with different priorities on Linux platform.

That's an outright lie.  See the pthread_setschedprio man page.