Resizing and scrolling very slow when running a compositing manager

Carsten Haitzler (The Rasterman) raster at rasterman.com
Tue Apr 25 16:56:30 PDT 2006


On Tue, 25 Apr 2006 08:30:59 -0600 Brian Paul <brian.paul at tungstengraphics.com>
babbled:

> Matthias Hopf wrote:
> > On Apr 25, 06 14:21:21 +0100, Ioannis Nousias wrote:
> > 
> >>>I have a Radeon 9200 Mobility and I'm running Xorg 7.0 with radeon driver.
> >>>If I run a compositing manager like xcompmgr, scrolling and resizing
> >>>windows is much slower, especially for applications like Firefox. I
> > 
> > 
> > It's somehow a fundamental problem. AFAIR David has already thought
> > quite a lot about it, there is no trivial fix for that right now,
> > though. The problem is that the off-screen surfaces have to be resized,
> > which is a costly operation. It's also expensive on higher end hardware,
> > just not as noticable.
> > 
> > I think in the near future the resize plugin can do something about it
> > (an intermediate off-screen surface during resizing, doing the final
> > size in the very end), but nothing right now.
> 
> In another project I had to resize off-screen Pbuffers in response to 
> window size changes.  I allocated my Pbuffers at a multiple of 32 
> pixels.  Therefore, changing the size by a small amount didn't require 
> reallocating the Pbuffer.  Seemed to work pretty well.
> 
> Is XGL doing anything like that?

only problem there is that then you may get "jerks" (pun NOT intended) at these
32pixel boundaries. it's definitely an improvement though. what about splitting
up the surfaces into 32x32 tiles (separate textures/pbuffers). then you just
create or deleted extra tiles as needed. i know that now u have a mesh of them
ands this might be a bit nasty on doing scaling/transform operations later with
xrender...  just thinking out loud you can linearize the required source
section to a tmp buffer before a transformed operation... ? though this will
make transformed ops qith xrender more expensive by the addition of a
linearize. (you can keep a linearized cache too i guess...). then there's
hybrid approaches to...

> -Brian
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
> 


-- 
------------- 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