Linked by Thom Holwerda on Sat 28th Jun 2008 22:09 UTC, submitted by diegocg
X11, Window Managers "Maybe I'm just naive, but designing a graphics API such that all image data had to be sent over a socket to another process every time the image needed to be drawn seems like complete idiocy. Unfortunately, that is precisely what the X Window System forces a program to do, and exactly what Cairo does when drawing images in Linux - a full copy of the image data, send to another process, no less, every time it is drawn. One would think there would be some room for improvement. Unsurprisingly, others felt the same way about X, and decided to write an extension, Xlib Shm or XShm for short, that allows images to placed in a shared memory segment from which the X server reads which allows the program to avoid the memory copy. GTK already makes use of the XShm extension, and it seems like a good idea to see if Gecko couldn't do the same."
Thread beginning with comment 320572
To read all comments associated with this story, please click here.
Oh, no! Not another "X sucks" article...
by CrLf on Sun 29th Jun 2008 14:29 UTC
CrLf
Member since:
2006-01-03

I admit it, I didn't read the article. And I probably won't, because I'm sick and tired of reading articles bashing X11, usually from people that have no idea what they're talking about.

X11 is decades old, it was developed on *very* slow machines for today's standards and it managed to run reasonably fast. Yes, X11 has all sorts of layers for interprocess communication to allow processes to run on one machine while seamlessly displaying their UI on another machine (even if that UI involves 3D), but over the years the platform has evolved numerous optimizations for the local case.

Performance problems in graphical applications are seldom caused by performance problems in the X Server itself. The origin is most likely the UI toolkit.

And I'm not saying the UI toolkits are bad, because X-based toolkits have been doing for years what Microsoft has only implemented in Vista. For example, dynamically resizable windows (i.e. container based dynamic layouts), whose increased complexity eats CPU cycles and makes optimization more difficult.

X11 shows its quality just by being used after all these years, while competing display servers have come and gone. It is a bit like unix really.

Reply Score: 2

madcrow Member since:
2006-03-13

The article wasn't bashing X, it was (politely) criticizing Cairo for not using a feature of X (SHM) which could result in an overall performance increase of about 20%, as proved by tests done by the author when he went and patched Cairo to actually USE said feature.

The article was about "Cairo doesn't use X as well as it could, here's how to fix it and what effect fixing it has" NOT "ZOMG X Suxx!"

Edited 2008-06-29 15:06 UTC

Reply Parent Score: 3