Q: Xserver / Composite behavior

Keith Packard keithp at keithp.com
Sat Jan 7 22:45:17 PST 2006


On Sun, 2006-01-08 at 12:34 +1100, Russell Shaw wrote:

> Isn't that a bit inefficient? If you had a 1000x1000 window scrolled
> outside the root, it'd be wasting 4MB in a useless pixmap. No wonder
> X is so slow;)

Actually, one of the key lessons of the last ten years is that perceived
window system performance is based almost entirely on the appearance of
rendering artifacts on the screen. 

We learned this from Mac OS X which was initially distributed with all
rendering entirely software based, and with which objective performance
measurements showed to be one of the slowest drawing environments in
existance. However, because the entire display was artifact-free, due in
large measure to the composited window system architecture, users
perceptions were of a high-performance and responsive system.

The perception of poor X performance can now be understood because it
presents more artifacts than other systems; indirect window management
provides benefits in utility at the cost of ugly reconfiguration,
especially resize. Lack of universal double-buffering means applications
often present intermediate window contents to the user.

Objectively, X is the fastest 2d drawing environment out there, only
through methods like Composite which seek to reduce artifacts will we
see perceptions about the system behaviour improve.

Yes, every window will suck way more memory; we have the benefit at
least of allowing users to memory for a better experience; something
lacking in OS X where compositing is required. As this amount of memory
becomes a smaller fraction of the available space, it will begin to make
sense for more users to spend it in this way. 

-keith

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20060107/4bbb3df9/attachment.pgp>


More information about the xorg mailing list