Bug 155921

Summary: Large analog clock widget takes up too much CPU
Product: [Plasma] plasma4 Reporter: Alec Moskvin <alecm>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED NOT A BUG    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Alec Moskvin 2008-01-16 16:42:25 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          gcc 4.1.2 
OS:                Linux

I recently had an idea of placing a large analog clock widget as my background. The problem is, any time it changes, the CPU usage spikes to 100%.

How to reproduce:
1. Add an analog clock widget to the corner of the screen.
2. Click the options button and check "show seconds".
3. Drag the resize button to the opposite corner.
4. Check the CPU usage.

Result:
Plasma is very unresponsive, the clock skips every other second, CPU usage is at 100% (Plasma takes up approximately 50% and X takes up the rest).


It seems that the drawing of the clock is very inefficient, considering that all the effects and animations run very smoothly on my machine.

I have an Intel Core 2 Duo T5300 processor (1.73 GHz), an NVIDIA GeForce Go 7300 graphics card, and 2 GB of RAM.
Comment 1 S. Burmeister 2008-01-16 17:04:05 UTC
On Mittwoch, 16. Januar 2008, Alec Moskvin wrote:
> I have an Intel Core 2 Duo T5300 processor (1.73 GHz), an NVIDIA GeForce Go
> 7300 graphics card, and 2 GB of RAM.


If your CPU/GPU is not up for it, don't use such a big clock. It's like trying 
to lift a house and wonde why it is so difficult.

If these reports do not stop, I opt for restricting the size of the clock just 
to not get "bug"-reports anymore.
Comment 2 Alec Moskvin 2008-01-16 19:29:55 UTC
>If your CPU/GPU is not up for it, don't use such a big clock. It's like trying 
>to lift a house and wonde why it is so difficult. 

First of all, are you saying that painting a simple triangular gradient once per second is like lifting a house? I think it's more like tying to lift a (lead) chair and wonder why it's so difficult. I believe that needing some really high-end processor to draw a gradient is ridiculous. Therefore, I believe that this is a bug and that it is perfectly valid.

Secondly, since you mention the GPU, it does not seem like there is in fact any graphical acceleration used. If there's an option to render this with hardware acceleration, could you please could you please point me to where I can find it? I came to this conclusion because whether or not the clock is present, if I run glxgears full screen (and it has far more gradients than the clock arrow), easily runs at around 100 FPS whether I have the clock on the desktop or not.
Comment 3 Sebastian Kügler 2008-01-28 08:19:31 UTC
This would need to be improved in Qt's SVG rendering. You could try Qt 4.4 snaps and see if that improves anything.

Closing, as we cannot really do anything sensible about it currently.