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 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
