Bug 276116

Summary: Wallpaper slideshow - changing wallpaper increases cpu usage
Product: [Plasma] plasma4 Reporter: Mohd Asif Ali Rizwaan <maarizwan>
Component: containment-desktopAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: jtamate, mmtsales, pranavg.india
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Mohd Asif Ali Rizwaan 2011-06-20 12:22:04 UTC
Version:           unspecified (using Devel) 
OS:                Linux

The wallpaper change in slide show is taking huge cpu, which is causing "jerk" in video playback in smplayer. moreover the wallpaper change is flickery, as if each pixel is painted again and again till the next wallpaper is fully loaded. it should be smooth.

This changing wallpaper is cpu intensive. Please try to optimize it. I set wallaper slideshow to change wallpaper every 5 minutes. and when I play a video, it causes slowdown for a second or two.

The wallpaper transition should be real smooth. Thanks.

Using:
Linux myhost 2.6.39-ARCH #1 SMP PREEMPT Mon Jun 6 22:37:55 CEST 2011 x86_64 Intel(R) Core(TM)2 Duo CPU E7200 @ 2.53GHz GenuineIntel GNU/Linux

Nvidia 8400gs with:
nouveau-dri 7.10.99.git20110616-2
nouveau-firmware 20091212-4
xf86-video-nouveau 0.0.16_git20110531-1

Ram: 4GB

Reproducible: Always




OS: Linux (x86_64) release 2.6.39-ARCH
Compiler: gcc
Comment 1 Jaime Torres 2011-07-15 15:47:46 UTC
I've run callgrind to plasma-desktop when this wallpaper presentation is enabled.
Most of the time is spent in Qt resizing the image to the current screen size. (qSmoothScaleImage). The second CPU hungry method is to read the jpeg and transform it to a Qt image. (QImage::ConverToFormat).

Therefore, two solutions to this problem:
Create a bug report to Qt about those methods being slow.

Change the images to be shown to the size of your screen with an image manipulation program such as digikam, gimp,.... therefore, no need to scale the image.
Comment 2 Jaime Torres 2011-07-15 16:26:33 UTC
Another solution from KDE, to launch the thread that does the slide show in a thread started with QThread::LowestPriority priority (even if Qt documentation says it will not make any difference in Linux, someday it will).
Comment 3 Kolia 2011-12-07 21:39:07 UTC
*** Bug 273184 has been marked as a duplicate of this bug. ***
Comment 4 Marcelo Sales 2012-01-31 23:31:37 UTC
I've experienced this for a long time... The desktop even freezes for a brief while when the wallpaper is being changed.
It seems to me that the high CPU usage and the little freezes are due to the fading in/out effect when switching images.
Maybe if the new image would just replace the previous one, without the transition effect, this would solve the problem.
Of course it would be nicer to keep the soft transition between images, it is beautiful this way, but if it is difficult to solve this issue while keeping the fading in/out, I think it's better to remove it.
Comment 5 Marcelo Sales 2012-01-31 23:40:59 UTC
Maybe this is a duplicate of bug #209152?
Comment 6 Myriam Schweingruber 2012-05-28 13:02:06 UTC
(In reply to comment #5)
> Maybe this is a duplicate of bug #209152?

Well spotted, thank you.

*** This bug has been marked as a duplicate of bug 209152 ***