[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: metacity slowness



On Sat, Aug 23, 2003 at 07:51:26PM +0200, Michel Dänzer scribbled:
> On Fri, 2003-08-22 at 23:04, Marek Habersack wrote: 
> > 
> >   It's probably not exactly the right list to ask this question, but I'm
> > starting here since I've heard from slackware and gentoo users that they
> > have no such problem on their systems. The problem is simple - metacity is
> > painfully slow at repainting windows (or desktop on workspace switch). I
> > vaguely remember that the reason for that was that metacity used full
> > backing store blits using the pixmap library, which must be quite slow,
> > indeed. 
> 
> The window manager doesn't repaint the app windows (or the desktop, for
> that matter), the apps do it themselves.
True, but metacity keeps the window surface in a pixmap and, apparently,
repaints (for some reason) the window surface in addition to the app doing
it as well (it happens on resizes, moves and workspace switches).
It seems that it allocates a pixmap for each window it manages (see ui.c,
look for iw->pixmap) - at least that's how I understand the code. Also in
ui.c in the meta_image_window_set function it seems that it does use that allocated
previously pixmap as the window's backing store.
 
> > I tried to switch to sawfish recently, but it doesn't work correctly 
> > with the gnome2's panel so I had to switch back (even though it was 
> > really fast...). It's quite an annoying experience to actually see the 
> > desktop repainting on a fast machine (Athlon 2400+, 1GB RAM, Hercules 
> > Radeon 9000 128MB RAM)... I'm running XFree 4.3.0-0pre1v1 with 
> > xserver-xfree86-dri-trunk, compiled with athlon optimizations. 
> 
> Do the Slackware and Gentoo users you mention have a comparable setup?
Yep, more or less the same. The gentoo one doesn't use the CVS dri xserver,
the slackware one uses it.

> http://bugs.xfree86.org/show_bug.cgi?id=414 might be related, as the
> radeon driver doesn't accelerate the RENDER extension yet.
Note this comment http://bugs.xfree86.org/show_bug.cgi?id=414#c18 - it does
seem to confirm that the metacity itself might be the cause of the slowness.
My x11perf result, using the same command line as in the bug report you
referred to above:

$ x11perf -shmput500
x11perf - X11 performance program, version 1.5
The XFree86 Project, Inc server version 40300000 on :0.0
from beowulf
Sun Aug 24 01:12:43 2003

Sync time adjustment is 0.0367 msecs.

   1600 reps @   3.8055 msec (   263.0/sec): ShmPutImage 500x500 square
   1600 reps @   3.9432 msec (   254.0/sec): ShmPutImage 500x500 square
   1600 reps @   3.8290 msec (   261.0/sec): ShmPutImage 500x500 square
   1600 reps @   3.8290 msec (   261.0/sec): ShmPutImage 500x500 square
   1600 reps @   3.8581 msec (   259.0/sec): ShmPutImage 500x500 square
   8000 trep @   3.8530 msec (   260.0/sec): ShmPutImage 500x500 square

thanks for your response,

marek

Attachment: pgptai_hTjmAs.pgp
Description: PGP signature


Reply to: