On 30 Dec 2001 17:38:52 -0500 Owen Taylor <[EMAIL PROTECTED]> babbled
profusely:
> P.S. - As evidence of the potential for improvement, at 16bpp, no
> hardware acceleration, local, the best speeds I've gotten
> so far (XFree86-4.1 server) are:
>
> RENDER (premultiply data in client, use ShmPixmap to push
> to server and composite):
>
> - Dest in video memory 1.05 Mpix/s
> - Dest in system memory 5.75 Mpix/s
>
> ShmGetImage, convert dest to 24 bit, composite againt dest,
> ShmPutImage:
>
> - Dest in video memory 2.71 Mpix/s
> - Dest in system memory 11.71 Mpix/s
>
> I could further speed up the GetImage/PutImage path by skipping
> the conversion to 24 bit, so I'd expect RENDER to at least
> be a _little_ faster :-).
I have to second this. I wrote (the first stages) of an Xrender engine for evas.
imlib2's rgba software rotuines were outperforming xrender - and xrender was (in
theory) accelerated on my geforce.
the xrender back end did:
[create object]
load image as ARGB.
cp ARGB->shm images
shm image -> pixmap
[composite buffer]
create 32bit empty pixmap as tmp composite buffer (dont fill)
for each object:
[composite object]
coposite image using xrender composite calls
[output buffer]
copy 32bit composite buffer to screen window using xrender
the create stage was actually only done once at startup (or on demand) - after
that all objects were 32bit deep pixmaps.
i was getting identical speeds (almost) for doing it all in software as compared
to letting xrender do it (supposedly accelerated on the card)
the software did:
[create object]
load image as ARGB
[create buffer]
malloc temp 32bit ARGB buffer (dont fill)
for each object:
[composite object]
use software to compsite and scale in 32bit ARGB (i only used the 1:1 scale
case)
[output buffer]
create shm buffer
convert ARGB to 16bpp (dithered) in software to shm buffer
shm put shm buffer to screen window
in all steps in software at the end of the day it should be worse... but it
isn't.
i get 20-30 times software speed if using opengl (image objects get converted
from ABGR to RGBA then to textures. then all image objects are drawn as polygon
meshes with textures).
so yeah. i'll second owen's appraisal of the speed :)
--
--------------- 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 9386 9439
_______________________________________________
Render mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/render