Saturday, 4 July 2009, 09:07

KDE4: the road to KDE5

As soon as I woke up today, I grabbed my cup of cereals and I installed the xubuntu-desktop and kubuntu-desktop on the "playground" partition I use for testing stuff, since I don't like to touch my Debian GNU/Linux on the main partition. This morning, the test was about KDE 4.3-rc1, which is already available in Ubuntu. I wanted to test this new version because I already knew it is a pile of crap, with features you'll never need, but anyways, my morning cereals' time is for that crap :)

To my surprise, KDE 4.3 is not only a pile of crap and zillions of features, but it also goes much more slower than the 4.2 version, which is interesting. Some time ago, I tested the performance of window drawing under GNOME (with compiz), under xcompmgr, etcetera. As of that time, KDE's kwin wasn't that bad. Today, with the 4.3-rc1 (and some extreme effects manually disabled before testing), I saw that it renders much slower than compiz, and any other composite manager. For instance, gtkperf showed 8s on compiz, whereas 15s in KDE. And please note that I used the same theme and engine for the gtkperf application on both window managers.

After this surprise, I was upset and I started looking for information at www.kde.org and planetkde.org, and everything I could read was that kwin is so much more beautiful, so much faster, so much this and so much that. Do all KDE developers use a quad core with a dedicated graphics card? Since KDE 4.3 is really slow on my computer, and the good-old crappy GNOME is not that slow (while it should be the opposite way).

Furthermore, KDE people criticize Mono and bindings on GNOME, which I criticize too. Yet, the almighty C++ toolkit seems to be not powerful enough, as KDE libraries have tons of intermediate garbage, in order to make of KDE a beautiful world.

After this surprise, I gladly rebooted to my Debian GNU/Linux where I use my Openbox with xcompmgr. Hey, this is not the most beautiful desktop environment you may see out there, nor it changes the wallpaper according to the weather, nor it makes me the coffee, nor it cuts my nails, nor it shaves me. But still, it really works and starts in one second.

Now, about the version-numbering illness. Every time I read something about KDE4, is about how good things are going in the development, and it is always said that the next version will handle this much better. So basically, KDE4 is just another intermediate link in the quest for the perfect KDE. And, instead of creating a solid desktop for human people, they prefer to migrate KDE3 entirely. What is it going to be when all the applications from KDE3 are migrated to KDE4? Will you start migrating everything to KDE5?

Finally, I would like to mention my opinion about the history of KDE4, because it has been quite interesting. So 4.0 was basically rubbish, and it was so unstable that didn't work at all. Then, 4.1 was a 4.0 with fixes, but didn't really show anything very interesting. Afterwards, 4.2 was almost perfect: everything working, stable, fast, responsive, well integrated. Last, 4.3: bloated, extremely slow, full of unnecessary additions, yet immature and not finished (waiting for 4.4 and higher versions to make it more mature, and more bloated). This is an interesting curve of development, but hey, I don't develop KDE, so in the end this is just a poor opinion, and shouldn't be taken that much into account.

Keywords: Desktop, Linux
Sunday, 10 May 2009, 09:05

Measuring the performance on composite managers

Currently, Unix desktops are well known for their attempt to incorporate the latest eye-candy technology, meaning that they try to ship with desktop effects and visual aids of any kind. Generally speaking, they make a good impression, since they provide a beautiful desktop environment, at the same time as they give the user a whole new world of functionalities (e.g. exposé-like effect, built-in zoom for disabled people, etcetera). However, this enhancements require from extra computation time and memory, which leads to a higher power consumption and lower performance in certain cases. Today, I tried to measure four different composite managers in four different areas: OpenGL rendering performance, 2D UI rendering performance, memory consumption and power consumption.

First and foremost, I shall introduce the four candidates, which are the most common composite managers, at least on GNU/Linux desktops:

  • Compiz (version 0.8.2)
  • KDE4 Window Manager (version 4.2.2)
  • XFCE's xfwm4 (version 4.6.1)
  • xcompmgr (version 1.1.4)

In the first test, I measured the OpenGL performance by running ioquake3 1.34-rc3 on each of the composite managers. Admittedly, running an OpenGL application without a running composite manager is much faster, but let's see what were the results of running Quake3 on the top of a composite manager. This information is depicted by figure 1.

fps.png
Figure 1. ioquake3 timedemo FPS throughput

In the first test, XFCE shows a clear superiority. The xfwm4's composite manager the fastest one, but it must be said that it is the composite manager that least does compared to the rest of the contestants. KDE's window manager was quite bad in this test.

Secondly, I tested the throughput, this time, on 2D, which means the test would tell how good a composite manager behaves when drawing the user interface. This test is especially important, since most of the time an average user is just interfacing the UI. Please consider the graph in figure 2 in order to see the results for test 2.

gtkperf.png
Figure 2. gtkperf, all tests, 100 iterations per test (less is better)

According to figure 2, compiz is the fastest in drawing the UI. This is partly true, since compiz uses OpenGL for every single possible thing, thus squeezing all the juice out of the graphics card. On the other side, KDE's window manager turned out to be the most disappointing one, once more. XFCE is close to compiz though, which shows that xfwm4 is quite good, both for OpenGL and, currently, for drawing 2D UIs.

Subsequently, I tested how much memory each composite manager would take. Astonishingly, they all took much less memory than what I thought, but this might be due to the fact that there was not a long usage of the desktop, thus not needing to map much memory. Anyhow, figure 3 shows the results of the memory usage for every composite manager.

xrestop.png
Figure 3. Memory usage in Kilobytes (less is better)

From figure 3 it follows that compiz was the one to use less resources. However, this is not totally true when speaking generally, since compiz is usually considered the heaviest of all the composite managers. Again, once more, KDE's window manager turned out to be the most resource-consuming WM.

Last, I measured how much power each composite manager consumes, by running the famous powertop application and checking how many wake-ups per second were generated when running on the top of different composite managers. This information appears in figure 4.

powertop.png
Figure 4. Power consumption in wake-ups per second (less is better)

According to figure 4, in test 4, both XFCE and xcompmgr literally rock. Again, this is due to the fact that they do not implement complicated features, so their simplicity makes them to be lightweight. On the other hand, compiz showed that it is very hungry of power, but also KDE's window manager was on the high-power line.

To sum up, I must say that this tests are missing the subjective point of view. This means that, depending on the type of user, some composite managers may not fit certain needs. For instance, XFCE and xcompmgr cannot offer even a 10% of the functionalities found in compiz or KDE. However, if an user is looking simply for drop-shadows and some real transparency, my advise is to use XFCE, since it is very efficient and lightweight, thus saving the battery of your laptop and drawing very fast. Sadly, against my will, I have to say that compiz performs better than KDE in almost anything, however the power consumption under compiz is a little bit higher, which is the price for having a better-performing composite manager.

Keywords: Desktop, Linux
Tuesday, 3 March 2009, 01:03

Desktop Showdown

Thanks to some boredom and tiredness from the job, I came home with the willingness of doing nothing but playing around with my laptop. Therefore, I decided it is time to run a small benchmark to see the differences between the fresh KDE 4.2.0, XFCE 4.6.0 and (the not-so-fresh anymore GNOME 2.24).

I run the benchmarks on my Vaio SR11M laptop (which is a Core 2 Duo P8400 2.26GHz and 4GB of RAM), and I used an experimental Ubuntu 9.04 Alpha 5 to install the three desktop environments. Here are the results of my measurements:

Test / Desktop Gnome 2.24 KDE 4.2 XFCE 4.6
Dependencies 713 691 175
Memory usage 352 MB 326 MB 266 MB
Startup time 19s 26s 21s
CPU wake-ups 115 123 65

From the previous benchmark, some things are deduced, and some other must be told in order to be fair with the results. First of all, the number of dependencies found in GNOME and KDE are due to their high integration ideology, where all the application flavors are satisfied using an unique toolkit. On the other hand, using XFCE, the user must install certain external applications in order to have a complete desktop suite.

The memory usage was a little bit unexpected for me. First, I didn't think that GNOME nor KDE would take that much of RAM. Nevertheless, the biggest surprise was XFCE, which took more than 250MB for loading a simple desktop environment.

In relation with the startup times, this was also a not-so-nice surprise. XFCE 4.6 has moved from several seconds to up to 21 seconds, which makes me suspect that the new xfconf back-end and the gstreamer-based mixer have something to do with. In this case, GNOME probed to be the fastest (although 19s is an eternity, if you take in account the power of current computers), whereas KDE totally disappointed me.

Finally, about the power consumption, the doubling in wake-ups in both GNOME and KDE is totally justified, as both use an OpenGL-based compositing manager (I was running compiz with GNOME, and so the Intel driver doubles the number of interrupts in that case. XFCE uses XRender (I believe), which is far slower, but it results in a nice and low power consumption (ideal for laptops).

As a last word, I would like to include that these results are just mere numbers, and that I actually use KDE 4.2, since it provides a highly configurable UI and a beautiful desktop environment with many facilities to the final user. So, it is up to you, and up to your necessity, which desktop you end up using (try Openbox for a change!).

Keywords: Desktop, Linux
 
© Claudio M. Camacho

Updated on Sunday, 29 August 2010 18:02