Besides helping Ana get the new widget explorer in place and handling the usual set of important distractions, I've been looking into various ways to help with performance in Plasma. Marco and Alexis have done a ton of great work already here, improving our SVG caching system substantially in recent months.
Today I managed to get rid of one in memory pixmap for every Plasma::Applet with a background and cut back on the use of the SVG cache at the same time; in doing so I found a couple of subtle bugs in the use of the SVG cache by Plasma::FrameSvg and fixed those as well. The end result is that Plasma now uses a bit less X11 pixmap memory (or whatever the equivalent of that is on the host system if it isn't x.org based), backgrounds for Plasma::Applet objects are correctly cached and the blast of disk activity that was being triggered while resizing widgets is gone.
Now that parts of Plasma, particularly libplasma, are maturing we are able to go through and do more of this kind of work. As we work on Plasma Netbook more (Marco has been doing a stupidly awesome job recently, but more on that whole scene tomorrow) and target smaller devices, this becomes ever more important. We already run quite well on quite modest hardware, but we can do even better.
In other terrific news, Alex Merry killed the last known major crasher in the tasks widget recently. The fix will be in the next 4.3 release as well as 4.4. Way to go, Alex! :) There's also a patch on review board to preserve the manual ordering of the panel when the tasks widget has manual ordering/grouping set and a feature like "show only windows on the current desktop" or "show only windows on this screen" are turned on.
Small steps, perhaps, but it's the small stuff that makes the polish that takes it all to the next level. We have much more to do, but we're getting there.
In the next two months I'll continue to work on such things, but mostly I'll be concentrating on two sets of features: a new activity overview mode to replace the current zooming system we have and Kiosk action restrictions with the goal of surpassing the flexibility that Kicker and KDesktop offered sys admins.
Tuesday, September 29, 2009
Subscribe to:
Post Comments (Atom)

14 comments:
"the rid of one in memory pixmap for every Plasma::Applet with a background and cut back on the use of the SVG cache at the same time"
this is going to be merged for 4.3.2?
I think this is awesome. I can remember Zack Rusin talking on TLLTS about how KDE 4 would load quicker and use less resources than XFCE.
I don't think I ever expected that to actually happen but I certainly do appreciate not having to go out an buy new RAM sticks for all my machines in order to run KDE4.
These are very good news !
I have 4.3.1 installed, and I am impressed how much it has improved specially in small details of usability.
Targeting performance is very nice to hear.
But Xorg still the big problem of Linux systems. Developers are cutting it into pieces to be putted inside kernel (KMS) and recoding Mesa into Gallium3d.
By speeding this up, maybe it will be possible to replace X by things like Wayland.
But what about performance using multiple processes and threads, is it managed/targeted by KDE teams ?
i hope the new widget explorer works, even if there is no panel or the panel is removed?
@derive: no; unless the performance issue addressed is deemed critical, we don't backport such things. optimizations are often more "dangerous" fixes because they often involve changing algorithms wholesale, taking clever shortcuts or even uglifying parts of the code in the name of pure speed/memory/$OPTIMIZATION_TARGET. better to test those things thoroughly in a feature branch, not a stable branch.
@boulabiar: "By speeding this up, maybe it will be possible to replace X by things like Wayland."
with graphics fully in the hands of Gallium3D and hardware resource management in DRM drivers, i think x.org could become quite manageable. i'm not so interested in replacing X as i am in the efforts to appropriately modernize it.
"multiple processes and threads, is it managed/targeted by KDE teams ?"
in Plasma, wallpapers are rendered in separate threads and searches (Runners) are done in threads as well.
there is the ThreadWeaver library in kdelibs and now QtConcurrent both of which make such things much easier.
then there is the multi-process approach of akonadi which naturally scales across CPU cores.
there's also the fact that a KDE desktop session is naturally spread across multiple processes and so also scales out.
we aren't doing much in the "hyper-agressive usage of threading" area compared to some software i've seen (though almost exclusively none of these are on the desktop), but we do scale across cores pretty well already.
@ SlashDevDsp: "i hope the new widget explorer works, even if there is no panel or the panel is removed?"
yes, it does. :)
sadly the most common crash bug in the taskbar you mention was reopened...
https://bugs.kde.org/show_bug.cgi?id=199325
but other than that, can't wait to have 4.4 on my computer (hopefully together with qt 4.6!)
I wonder if those fixes affect one of the two bugs I suffer from since 4.2 (Now using 4.3.1)
First: My analog clock is on atartup a big square until I resize it a big.
Second: After startup I have several instances of system monitor applets in my panel ( more than ten mostly). Even when I completely delete all of them they reappear.
I am not sure, but maybe those fixes will make my life easier in 4.4
the first bug you mention might perhaps somehow (i doubt it) be fixed with those changes.
the second bug is actually fixed in 4.4, i don't know if it has been backported, but you can search bugzilla for it
If someone wants to help, there is even a list with some issues of plasmoids...
http://techbase.kde.org/Projects/Plasma/Plasmoid-Issues
nice list. as soon as i have time i'll start to work on a few of them. Is this list kept up to date?
"In the next two months I'll continue to work on such things, but mostly I'll be concentrating on two sets of features: (...) Kiosk action restrictions with the goal of surpassing the flexibility that Kicker and KDesktop offered sys admins."
Just want to thank you that Kiosk will be integrated into Plasma. Kiosk is (or at least was in KDE 3.x, honestly don't know the current state across the project) the one framework feature that's both most powerful and most undervalued.
"Small steps, perhaps, but it's the small stuff that makes the polish ..."
hello aaron, orlando here from argentina
i would like to make a suggestion to you, regarding thelook and feel of kde.
Please i refer to you to this two screenshots
i)
http://content.zdnet.com/2347-17924_22-348650-348653.html?seq=3
ii)
http://content.zdnet.com/2346-17924_22-348650-7.html
and compare them with the following
iii)
http://content.zdnet.com/2347-17924_22-348650-348651.html?seq=1
I think that dolphin, the kde menu and other main components of the KDestopEnvironment (1)(2) are lacking a bit of transparency to achieve an uniform look in the plasma world (3).
I'm not an expert GUI designer.. but IMHO they contrast too much ...
Thank you for your work!
@ombzzz - Check out the new theme features for kwin
http://www.kde-look.org/content/show.php/Aurorae+Theme+Engine?content=107158
Which is planned to be merged for KDE 4.4!
That is the next waited feature for KWin (At least for me) since the eye candy.
@alien
thank you for the link and info
Post a Comment