Q: Xserver / Composite behavior

Carsten Haitzler (The Rasterman) raster at rasterman.com
Sun Jan 8 03:41:18 PST 2006

On Sun, 08 Jan 2006 19:02:29 +1100 Russell Shaw <rjshaw at netspace.net.au>

> Carsten Haitzler (The Rasterman) wrote:
> > On Sun, 08 Jan 2006 12:34:05 +1100 Russell Shaw <rjshaw at netspace.net.au>
> > babbled:
> > 
> >>Keith Packard wrote:
> >>
> >>>On Sun, 2006-01-08 at 01:46 +0100, Amir Bukhari wrote:
> >>>
> >>>>What happend when application move it's top level window out side root
> >>>>window. Example: screen is 1200x1024 and a window is moved to 1600,512
> >>>>which out side screen. Does Xserver will not alow it or it will only not
> >>>>be visable?
> >>>>does Xcomposite will stil render to off-screen pixmap?
> >>>
> >>>The entire contents of the redirected window are always available,
> >>>independent of position or stacking.
> >>
> >>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;)
> > 
> > then dont use compositing! :) seriously - the contents are NEEDED! without
> > them you cannto do loive pager/icon thumbnails - things like "expose" in
> > osx are not possible etc. etc. etc.
> I haven't got into great detail into the internals of the X server yet.
> Can't you read and composite using the data from the video memory instead
> of having another duplicating pixmap of the entire window, even if most of
> it is clipped?

no - because the OUTPUT pixels MAY have been transformed, alpha blended etc. -
or otherwise hav destructive transforms on them by the time they hit the real
framebuffer. the "unmodified" contents live in the pixmap. the composite
manager decides how to present these pixels from the source pixmap.

> A slight bit of flicker happening while a menu is redrawn is a small price
> for something that can work well in small hardware.
> If full double buffering is required, it should remain as a Window attribute
> that can be enabled or disabled.

thats EXACTLY what compositing is. don't run the composite manager and
everythnig will work as before. this isnt the "default and only" way x works.
it's an extra feature to ALLOW us to do more interesting things.

------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com
Tokyo, Japan (東京 日本)

More information about the xorg mailing list