A Comparison of E and Sawfish
Last Updated on January 10th 2001
Written on April 22nd 2000



"A comparison of two window managers and tweaking for speed"

Introduction

As far as being geeky is concerned, I like eye candy like the next - which is what led me to use Englightenment as my window manager of choice. However, the great number of customizations that can be done comes at a price. That price is speed.

In this brief article, I'll share my thoughts and comparisons between Enlightenment and another great window manager that's quickly rising in the ranks - Sawfish (it used to be called Sawmill, but due to a name conflict it was changed.) I've used both window managers pretty extensively and have the ideal platform to judge speed issues on; a dual Pentium 166MHz SMP machine. It's not the latest, but it's fast enough for my needs - but when it comes to heavy graphics demands it can bog down. An ill-configured window manager, older libraries and heavy themes can cause problems for you.

You can check out the home pages for Enlightenment and Sawfish here. You can get more detailed information regarding each on their respective sites. I don't get into the hardcore, nitty-gritty differences here, just the user experience as you look at the screen and work with them.

There was a brief period where a combination of certain libraries, Enlightenment and my selection of themes made my computer nearly unusable and gave me serious thoughts of upgrading my hardware. But then I thought, no, wait a minute. What is this, Windows? It used to be fast, what happened here? Why is it so SLOW now? I noticed this after consistently upgrading Enlightenment and the Gtk libraries. After a while, things just got too slow to be of any use.

Searching for Speed

At the time, gdk-pixbuf v0.5.0 was released and was purported to have "some obscenely fast functions to do scaling with interpolation and composition of pixbufs" along with other speed improvements. So, I upgraded to that and did some tweaks so that the GdkPixbuf library was used in place of the imlib pixbuf-engine, and whoa... What a difference. To read more about the differences, read GdkPixbuf as a Replacement for Imlib.

At the time of this writing, gdk-pixbuf v0.7.0 has been released only a few days ago, but you should be aware that the internal API has changed and breaks anything compiled against v0.6.0. You'll need to install both libraries, which isn't a problem since they have different file names.

So, once I tweaked my GTK pixbuf engine over to GdkPixbuf, my system was much more usable over the older imlib setup. This effects not only Enlightenment, but also Sawfish - and any other GNOME/Gtk application on your system that uses themes under GTK. What does that mean? The Gimp now runs WAY faster as well! I must admit, I'm kind of spoiled - I have Gimp using GdkPixbuf /GdkRGB and it's compiled to use threading and multiple CPUs (SMP). It's like having a Mac-optimized version of Photoshop as compared to a regular Intel version. Filters fly, blurs blur and well, it's just fast. I'm running the latest (at this time) development version, too - v1.1.19, and I can tell you, the upcoming v1.2 release should be awesome. For the curious, here's a screenshot of v1.1.19 in action on my setup.

Another huge impact on speed comes from your choice of theme. On most newer computers, it doesn't matter so much, but as you go back in time in the evolution of gear - you will notice system responsiveness a whole lot more. I suggest you go with a lighter theme over heavier ones. What's this about theme weight? By "weight" I mean the size of the graphics that make up all those buttons and widgets. Does the theme use window manager inherent functions like dithering and gradients, or is nearly everything a pixmap? Are the images that make up the pixmaps optimized for speed and size, or are they just huge slabs of colored bits, eager to choke your system?

The way you configure your window manager, no matter what it is - also effects your system's reponsiveness a great deal. Leaving fancy animations and event sounds enabled and using transparency for your terms all play a part to slow things down. Animations for inconization and window shading certainly aren't necessary. Turn them off. Do you really need to hear those nasty bleeps and bloops when you minimize or kill a window? Turn them off. Must you resize and move those windows in opaque or even worse, transparent mode? Turn them off. The less fluff you have enabled, the more overhead you eliminate on routine things you do with your window manager and serve to greatly speed things up cummulatively.

Remember, eye candy is cool and all - and works pretty well on speedy machines. You should not forsake ergonomics, productivity - or your nerves - when setting up your environment. Like I said, I enjoy a fair amount of eye candy. The thing has to look cool, but not at the expense of slowing me down. At any given time, I have half a dozen Netscape windows open, four gnome-terminals, the Gimp, nedit running on my Sun remotely, napster or XMMS - I simply don't have time for screen redraws and slow reponsiveness from my window manager. Leave the killer looking, feature and fluff-ridden setup to impress your co-workers and friends, but when it comes time to use your system, be a little smarter about it.

Back to Window Managers

After the above, IMO - necessary enhancement, Enlightenment was much quicker as was all the rest of my GNOME and Gtk-based applications, but I wanted to see what Sawfish could do for me. So, I headed for my nearest mirror to grab the Sawfish RPMs and set about installing it. The install via RPM was painless and quick and not to be left with the default, boring themes - immediately went over the the Sawfish Themes site and grabbed a few neat ones, like AquaOS2 which you see in the screenshot above. Incidentally, the Sawfish theme that mimics the Apple Aqua interface works better than the Englightenment theme(s) that are similar; gnome-terminal has proper borders around the entire window, and other subtle improvements.

What's Different?

To be honest, I didn't see that much of a speed difference between Sawfish and Enlightenment. Perhaps this is because I had my Enlightenment setup pretty tweaked for speed as it was - taking out a lot of the fluff that Enlightenment offers, like animations, sound and so on. I left all the good stuff enabled, but disabled virtually everything else that wasn't necessary. So Enlightenment was running pretty quickly, even with a heavier weight theme. Switching to a lightweight theme is critical to improving the speed of your window manager, be it Enlightenment or Sawfish. There are some out there that are simply dog-ass slow, like bysaws! - holy moly. You can watch things redraw in slow motion with that theme for Sawfish, at least on my box - but even faster computers will puke on this one.

As far as actual use of the window managers, there are some subtle differences. Some you might not care about, but there are some that IMO, do make a difference. For instance, here are the things under Sawfish that really tweak me, when compared to Enlightenment:

The configuration for Sawfish is more integrated into the GNOME control center application and slightly different than Enlightenment in the way things are organized. You go there, rather than middle-click on the root window (although the root menu has customization options, it opens up the control center anyway).

If you happen to use the "Blue Steel" theme, then you're especially in for a treat. This was my favorite theme for a long time, and I had it running on my IBM Thinkpad running Linux AND Windows, the SGI Indigo2, my normal desktop machines at home and work... They all looked identical! It's a pretty sharp theme and one of the best out there. It's a little heavy, but still fast. I switched only because I wanted to try something new, and the Apple Aqua interface looked neat. I also found the theme to be a little on the dark side after a while.

One important glitch that I noticed is when you use any of the Aqua themes with Sawfish. When I upgraded my Sawfish from v0.24 to v0.26, they all broke and broke badly. The title bar buttons went to hell and the entire setup became more or less useless, which kind of stinks since I was really liking that theme. I'm not sure yet if I'm missing a key component upgrade somewhere, since it hasn't been mentioned anywhere else - or if no one has noticed it yet... I find the latter a little hard to believe though, since Sawfish and the Aqua themes are both very popular. More on this later as I dig into this.

Conclusion

Both window managers are totally kick-ass and you can't go wrong with either one. Which one you use will most likely be determined by the theme(s) you like and use, certain quirks that each window manager has and just general preference, rather than speed, in my opinion. I tried both on two different computers - the one mentioned above as well as a recent Dell 500MHz PIII machine and they both seemed to perform similarly. If you tweak Sawfish like I have to make it more Enlightenment- like, the only difference you'll probably see is tiny things like what I mentioned above as far as "annoyances" while everything else behaves identically. In the end, the choice is yours. Choice is good. Like another a theme for one or the other window manager more this week? Switch window managers!

Yes, occasionally I get bored and dwell on these things. Heh.


All images are (C) 1994-2005 by Michael Holve