On Thu, 4 Sep 2003 00:52:41 +0200 (CEST) emmanuel ALLAUD <[EMAIL PROTECTED]>
babbled:
> Hi all,
> in the thread about RENDER extension, it has beem
> mentionned that XFree was performing much slower (ie 2
> or 3 times slower) than imlib2 (sorry I don't really
> remember in which tasks). The reason seemed to boil
> down to the fact that imlib2 has arch specific asm
> instructions (I think mostly for x586 via MMX or SSE
> or whatever) for certain crucial functions.
> My question is why not do that also in XFree
> (borrowing/adapting codes from images manipulation
> libs)?
> By choosing carefully the functions to optimize (that
> would mean only a few small function so that the
> maintainance is as easy as possible) we should avoid
> too much mess, keeping portability by using the "old"
> functions for arches with no specific optimizations.
> Does that sound reasonnable?
> Bye
> Manu
no - it wasn't the mmx/sse that did it. xrender was performing WHEN it was going
through a hardware accelerated path only 2-5 times faster than imlib2 (using the
cpu & mmx to do blends) which is rather slow compared to the speed gfx hardware
can actually achieve. in almost all cases xrender was slower - by 30-50 times
slower. this isn't a matter of mmx/sse. this is things like 1. image data not
being in video ram across a bus. on top of that mmx/sse would speed things up
too - but the main issue at hand is that even the software fallbacks don't have
a fair go of doing a decent job, and hardware acceleration doesn't seem to have
been used much at all - if at all. thus its always using software. this varies
from driver to driver - but non accelerated any transforms at all, and the ones
that did accelerate 1:1 blending were not what i would deem significantly faster
than imlib2 (compared to what the hardware i was testing at the time was capable
of in terms of blends with opengl).
so summary:
the problem is twofold.
1. the software fallbacks in xrender - if they have mmx/sse or not are simply
not being given a chance to perform at full cpu capacity. adding mmx/sse won't
help until this is solved. once this is solved mmx/sse/altivec etc. could get
you up to a double speedup again (in my experience), maybe even more. but first
this needs to be fixed.
2. only 1 of all my tests ever went through acceleration at all. the other 6
tests all were software only. even the first test sometimes wasn't hardware
either. when it was hardware accelerated it could have been a LOT LOT LOT faster
in the cases i saw
i will also point out that my performance tests also were measuring only a small
subset of xrender's operations - but they were the operations i personally use
the most, and definitely to me would appear to be, in general, some of the most
commonly used ones.
> ___________________________________________________________
> Yahoo! Mail : http://fr.mail.yahoo.com
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/devel
--
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
The Rasterman (Carsten Haitzler) [EMAIL PROTECTED]
熊耳 - 車君 [EMAIL PROTECTED]
Mobile Phone: +61 (0)413 451 899 Home Phone: 02 9698 8615
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel