Since kde4.5 is out, a number of users with various NVidia graphic cards suffer from performance issues when using the oxygen style:
- Lag, when scrolling some large views, like, e.g. in Dolphin
- system becoming unresponsive over time
- etc.
So I've been trying to optimize the code, and reduce the number of allocated pixmaps. Its a bit like shooting in the dark, since I can't see much difference here, from one change to the other.
Last night I made a decisive step in this direction by applying some discretization to the various animations, effectively reducing the number of cached pixmaps by a factor 10 to 20 (it's configurable), normally without any noticeable difference to the eye.
Now, well, I need testers (with an NVidia graphic card, and with a driver for which some of the problems above are present).
For users willing to help, I wrote a script available here that allows one to checkout, configure, compile, and install oxygen sources from kde svn trunk, without the need for compiling anything else of kde.
It should work against any kde4.4 and kde4.5 version, as well as trunk, naturally.
To use the script one must:
- create a clean directory
- run the script and follow instructions
Once the code is successfully compiled and installed, any newly launched application should use the latest oxygen as opposed to the one provided by your distribution (which gets erased in the process).
I'll be available for debugging, in case of trouble.
If the patches I committed to trunk recently are effectively fixing the issues above, I'll backport them to the kde4.5 branch (and to oxygen-transparent), so that hopefully kde4.5.2 can benefit from it.
Notes:
- kde anonymous svn is sometimes not very responsive and the checkout or update will fail. Just take a deep breath, wait 5 minutes, and retry.
- in case one wants to revert to the 4.5 version of oxygen, one can run the same script (in a separate directory), with the additional argument --branch 4.5
- Since the feedback on the recent commits is largely positive, last night I backported the changes to the kde4.5 branch. So that hopefully this oxygen+nvidia issue will all be fixed in kde4.5.2. You can run oxygen-setup.pl --branch 4.5 to get this code, instead of the one from trunk (which has many other unrelated changes).
- I also backported the change to oxygen-transparent