Linked by Thom Holwerda on Sat 1st Jul 2006 18:59 UTC, submitted by trevor
X11, Window Managers "We are very pleased to announce this release, the first major update to cairo since the original 1.0 release 10 months ago. Compared to cairo 1.0, the 1.2 release doubles the number of supported backends, adding PDF, PostScript & SVG backends to the previous xlib/win32, and image backends."
Thread beginning with comment 139378
To read all comments associated with this story, please click here.
Nice !
by lord_rob on Sat 1st Jul 2006 21:35 UTC
lord_rob
Member since:
2005-08-06

I'm really impressed by how fast X11 has grown in Linux (of course also *NIX/BSD) since the death of XFree86 and the birth of xorg.

Graphical *nix was quite bad compared to windows performance wise, but also had some major advantages. The main advantage is of course the network transparency. I really enjoy the ability to run an application remotely with a perfect integration. Now if xorg can also be very performant then windows has an even more serious competitor, not only on servers but also on the desktop.

Reply Score: 5

RE: Nice !
by rayiner on Sun 2nd Jul 2006 00:08 in reply to "Nice !"
rayiner Member since:
2005-07-06

The entertaining thing is that the current Cairo/XGLX/AIGLX stack that everyone things is so fast and smooth is actually an order of magnitude slower than what was in there before. The main reason it seems faster is optimizations in GNOME, and more importantly, double-buffering of the desktop.

This is of course not intended as a slight to the Cairo folks*, but rather as a dig at the people who blamed X11 for performance all these years. Raw drawing performance wasn't the problem, and it never was. Synchronization, which was solved as a byproduct of compositing, always was the issue.

*) Their attention to proper API design and high output quality is much preferable to a focus on performance. Moreover, its not at all surprising if Cairo never becomes faster than core X11. Cairo does a whole lot more than core X11 does, and contrary to popular belief, the core X11 routines were already highly optimized.

Edited 2006-07-02 00:20

Reply Parent Score: 5

RE[2]: Nice !
by tmack on Sun 2nd Jul 2006 00:27 in reply to "RE: Nice !"
tmack Member since:
2006-04-11

That is a great point.

A well defined and designed application or library can always be refined and optimized for speed.

A poorly designed app that runs fast rarely ever gets refactored into a decent design that works well with other software. I mean, look at the Wintendo family of products from Microsoft.

I think X11 dodged a bullet, really.

Reply Parent Score: 3

RE[2]: Nice !
by someone on Sun 2nd Jul 2006 03:36 in reply to "RE: Nice !"
someone Member since:
2006-01-12

Also, we should remember that Cairo is still a very young product, unlike X.org, which is very mature. Obviously, the initial focus for Cairo would be on API and design instead of performance. They are only starting to get a little bit of performance optimization in version 1.2. We probably have to wait for version 1.4 (before the release of Firefox 3.0/Mozilla 1.9) to see some significant performance optimizations.

XGLX and AIGLX is aimed at lightening the load of CPU and speeding up very complex operations (Quartz Extreme and CoreImage type operations) instead of simple drawing operations.

Reply Parent Score: 3

RE[2]: Nice !
by werpu on Sun 2nd Jul 2006 20:05 in reply to "RE: Nice !"
werpu Member since:
2006-01-18

You are missing one obvious fact. Cairo at one point already is way faster than X. X hat one problem, it never was the speed, but it was the fact that the underlying technology never really allowed to utilize the power of modern graphics adapters. Even if Cairo is slower in plain execution speed, its drawing primitives are on a way higher level and can utilize the functionality of modern graphic adapters way better than plain X.
There is a huge difference in a set of commands, drawing brezier curves for one font letter and only issuing font a size B letter C.
There also is a difference between shifting bitmaps over a network layer and just tell the graphics card, draw me polygon Y.

Reply Parent Score: 1