Review Request: Prevent excessive painting of non-ARGB fdo system tray icons

Jason Stubbs jasonbstubbs at gmail.com
Sat Nov 8 13:00:41 CET 2008


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/264/
-----------------------------------------------------------

Review request for Plasma.


Summary
-------

There are some situations - such as overlapping sibling widgets - that can cause a painting loop that can make plasma severely unresponsive. While those issues should be fixed as they arise, I think that it is better that the system tray be a little more robust as well.

This patch limits paints to 10 per second. This number is arbitrary and essentially limits the number of frames per second for animations, but can't be too high as updates are fairly expensive.

Also, is this method of using tokens ok? Is there a better way?


Diffs
-----

  trunk/KDE/kdebase/workspace/plasma/applets/systemtray/protocols/fdo/x11embedcontainer.h
  trunk/KDE/kdebase/workspace/plasma/applets/systemtray/protocols/fdo/x11embedcontainer.cpp

Diff: http://reviewboard.vidsolbach.de/r/264/diff


Testing
-------

Resizing the panel to around 10 pixels will trigger excessive repainting. With the patch, the paints being prevented is clearly visible and plasma remains responsive. Resizing it too small will cause the icons to disappear altogether and will cause things to become unresponsive, but kDebug()s revealed that this was not due to painting. 


Thanks,

Jason



More information about the Plasma-devel mailing list