render improvements

Zack Rusin zrusin at
Mon Apr 18 16:48:03 PDT 2005

On Monday 18 April 2005 17:21, Soeren Sandmann wrote:
> The timings that I did suggested that 64 bit MMX reads were the
> fastest way to read from the framebuffer, but I didn't test with DMA.
>  In the framebuffer case, it basically doesn't matter all that much
> how you combine the pixels.
> Doing 64 bit MMX reads gave me (if I remember correctly - I can't
> find the data right now) 48 MB/s, which is not usable for dragging
> translucent windows around, and barely acceptable for antialiased
> text if you carefully optimize out reading the destination for fully
> opaque and fully transparent pixels.  Going to 128 bit SSE reads did
> not make a difference on the systems I tested on. I am attaching my
> framebuffer read benchmark; to use it, boot with vga=0x317 to get a
> framebuffer device.

Very interesting. Thanks for that :) 

Could you resend me your framebuffer read benchmark? I'd love to look at 

> I think it would be interesting to see if the combination of MMX and
> entire scanlines is an improvement. Even if it turns out to be only a
> modest slowdown I think it is still worth doing because it it
> certainly a huge speedup compared to the old fbComposeGeneral().

I'm just in the process of doing it with AltiVec loads, I'll play with 
MMX after that. 

> What do I need to run the benchmark? I tried with Qt4 beta 2, but
> compilation fails with:
> great-sage-equal-to-heaven:~/render_bench_ops% c++ -I/usr/include/Qt
> *.cpp main.cpp: In function void main_loop():
> main.cpp:174: error: class QPixmap has no member named
> x11PictureHandle main.cpp:175: error: class QPixmap has no member
> named x11PictureHandle

Ah, sorry. We renamed the function from xftPictureHandle to 
x11PictureHandle. If you'll just s/x11/xft/ in that code it should work 
just fine. 
I have some a few other test apps, if I'll get a second this week I'll 
do my best to port them to pure or at least make sure they all work 
with the latest beta :)


Don't think that a small group of dedicated individuals can't change
the world; it's the only thing that ever has.

More information about the xorg mailing list