2D antialiasing?

Charles Lindsey chl at clerew.man.ac.uk
Fri Dec 12 09:08:38 PST 2008

On Thu, 11 Dec 2008 14:23:51 -0000, Clemens Eisserer  
<linuxhippy at gmail.com> wrote:

>>  From the plain X Server POV, antialiasing is always going to be hard,
>> because to do it you need to know the background color or pixmap, and  
>> the
>> Xserver does not keep track of how you had earlier set it, so it is up  
>> to
>> individual toolkits to keep track, and not all of them do.
> Well, using XRender nobody needs to keep track of anything, its just
> composition with a mask (which is generated by the CPU in the case of
> trapezoids).

No, I think you miss my point (or else I miss yours).

AIUI, the purpose of Xrender is to enable as much as possible of the image  
information to be stored on the server, rather than in the client  
application which may be far away over some network.

So it allows you to to construct your image out of various bits and pieces  
which may be more or less transparent. In the simplest cases (yes, I know  
you can do more complicated things) you are simply trying to paint some  
glyphs on top of a "background". But when you have combined those  
together, all the server is allowed to store is the result of the  
compositing - i.e. it has no knowledge of what was the original background  
and was was the added glyph.

And that is no problem at all, until you want to throw away the glyph that  
was there before and write a new glyph in its place. And then you need to  
know what the original background behind the old glyph was, but the server  
does not have that information, and so it has to be kept in the  
application, which is precisely what Xrender was trying to avoid :-( .

Now even the original X-11 system allowed you to specify a background (as  
a plain color, or as a pixmap - possibly tiled). But it never retained  
that information, and it was the lack of that retention that I was  
complaining about.

Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131                       
   Web: http://www.cs.man.ac.uk/~chl
Email: chl at clerew.man.ac.uk      Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9      Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5

More information about the xorg mailing list