2D antialiasing?
Charles Lindsey
chl at clerew.man.ac.uk
Tue Dec 23 03:35:57 PST 2008
Sorry, I thought I had sene this weeks ago, but siddenly found it still in
my Drafts folder.
On Mon, 15 Dec 2008 20:09:14 -0000, Clemens Eisserer
<linuxhippy at gmail.com> wrote:
>> Indeed, but that means you need to assemble all your stuff in huge
>> Pixmaps
>> at the application level, and then pass them over to the Xserver. But if
>> your application is separated from the Xserver by some (possibly slow)
>> network, then that is a lot of network traffic.
> No, Pixmaps server-side. So the only thing that changes are that
> another XID for you rendering commands is sent (the pixmap instead of
> the window) and additional XCopyArea-commands sent over the network.
> One such call is about ~40 bytes.
True, and when you are _not_ doing antialiassing, the various Pixmaps you
create are sent to the server, and are then XCopyArea-ed to the genuine
window without ever leaving the Xserver again - at least, that is what
should happen if the implementor does his job properly.
But with antialiassing, you can easily land up creating lots of (possibly
large) Pixmaps (which get sent to the server) whose only purpose in life
is to get brought back again using XGetImage so that you can perform the
antialiassing in the application program and use XPutImage to put them
into the real window (or maybe to another Pixmap). Those temporary Pixmaps
then get deleted (but you still use up a helluvalot of Pixmap IDs that
way).
That might well be poor implementation, but it sure happens. The Opera
browser is a notable example (see my earlier thread on Xft Woes), though
whether it is Opera's fault or QT's fault I do not yet know. I also have
my suspicions concerning Adobe acroread.
--
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