New fb-based DDX, performance regressions relative to xfree86

Michel Dänzer michel at daenzer.net
Tue Dec 15 09:16:39 PST 2009


On Tue, 2009-12-15 at 11:48 -0500, Adam Jackson wrote: 
> On Mon, 2009-12-14 at 21:32 -0500, Timothy Normand Miller wrote:
> 
> > For most things that get decomposed into spans, the performance is the same:
> > 
> >   3450.0     3610.0 (  1.05)   500-pixel wide circle
> >   3330.0     3330.0 (  1.00)   (xor) 500-pixel wide circle
> > 
> > But for some things, the new DDX is worse:
> > 
> >   2800.0     4910.0 (  1.75)   100-pixel wide dashed circle
> >    238.0      917.0 (  3.85)   (xor) 100-pixel wide dashed circle
> >   2680.0     5290.0 (  1.97)   100-pixel wide double-dashed circle
> >    245.0      908.0 (  3.71)   (xor) 100-pixel wide double-dashed circle
> > 
> > Between xfree86 that supported cfb and x.org that doesn't, have any
> > major changes been made to mi?  I'm wondering, for instance, if mi is
> > ordering spans differently?  Or have bugs been fixed that might have
> > an impact here?  So far, I can't figure out if I have a mistake in my
> > span rendering code of if I'm being sent something different to
> > render.  My span rendering code (and hardware) is WAY faster if the
> > spans are sorted in ascending order of Y coordinate.  They used to be
> > (more or less).  Are they still?
> 
> The mi code itself changed very little between XFree86 4.3.0 and X.Org
> 6.7.0.  The biggest change appears to be the introduction of
> miRegionEqual and the use of that consistently instead of open-coded
> compares; this could certainly have some effect when sorting spans.
> There's a modest amount of functional change in mi/ between 6.7.0 and
> xserver 1.1.1, but none of it in the span code (mostly to do with the
> extension enable/disable code and the fixes/damage/composite
> integration).

If the old X server didn't have the damage layer yet, I suspect that
might account for some of the overhead... Profiling with sysprof or
oprofile might be interesting.


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the xorg-devel mailing list