imlib2/xrender benchmarks

David Reveman davidr at novell.com
Fri Feb 25 10:40:08 PST 2005


On Fri, 2005-02-25 at 11:27 -0500, Jon Smirl wrote:
> Shouldn't XGL be faster than this? Isn't this something that XGL can
> do in hardware?
> 
> On Fri, 25 Feb 2005 01:14:56 -0800, Cameron <hiryu at audioseek.net> wrote:
> > A bit of an improvement with xgl.
> > 
> > On someone what of an unrelated note, gnome/kde crash xgl, as well as
> > any gtk apps I've tried (I didn't tried any non-kde qt apps).
> > 
> > Available XRENDER filters:
> > nearest
> > bilinear
> > convolution
> > fast
> > good
> > best
> > Setup...
> > *** ROUND 1 ***
> > ---------------------------------------------------------------
> > Test: Test Xrender doing non-scaled Over blends
> > Time: 3.154 sec.
> > ---------------------------------------------------------------
> > Test: Test Xrender (offscreen) doing non-scaled Over blends
> > Time: 0.956 sec.
> > ---------------------------------------------------------------
> > Test: Test Imlib2 doing non-scaled Over blends
> > Time: 0.346 sec.
> > *** ROUND 2 ***
> > ---------------------------------------------------------------
> > Test: Test Xrender doing 1/2 scaled Over blends
> > Time: 13.497 sec.
> > ---------------------------------------------------------------
> > Test: Test Xrender (offscreen) doing 1/2 scaled Over blends
> > Time: 2.493 sec.
> > ---------------------------------------------------------------
> > Test: Test Imlib2 doing 1/2 scaled Over blends
> > Time: 0.122 sec.
> > *** ROUND 3 ***
> > ---------------------------------------------------------------
> > Test: Test Xrender doing 2* smooth scaled Over blends
> > Time: 63.759 sec.
> > ---------------------------------------------------------------
> > Test: Test Xrender (offscreen) doing 2* smooth scaled Over blends
> > Time: 63.145 sec.
> > ---------------------------------------------------------------
> > Test: Test Imlib2 doing 2* smooth scaled Over blends
> > Time: 5.469 sec.
> > *** ROUND 4 ***
> > ---------------------------------------------------------------
> > Test: Test Xrender doing 2* nearest scaled Over blends
> > Time: 41.905 sec.
> > ---------------------------------------------------------------
> > Test: Test Xrender (offscreen) doing 2* nearest scaled Over blends
> > Time: 36.738 sec.
> > ---------------------------------------------------------------
> > Test: Test Imlib2 doing 2* nearest scaled Over blends
> > Time: 1.506 sec.
> > *** ROUND 6 ***
> > ---------------------------------------------------------------
> > Test: Test Xrender doing general nearest scaled Over blends
> > Time: 101.508 sec.
> > ---------------------------------------------------------------
> > Test: Test Xrender (offscreen) doing general nearest scaled Over blends
> > Time: 76.356 sec.
> > ---------------------------------------------------------------
> > Test: Test Imlib2 doing general nearest scaled Over blends
> > Time: 2.495 sec.
> > *** ROUND 7 ***
> > ---------------------------------------------------------------
> > Test: Test Xrender doing general smooth scaled Over blends
> > Time: 226.497 sec.
> > ---------------------------------------------------------------
> > Test: Test Xrender (offscreen) doing general smooth scaled Over blends
> > Time: 182.320 sec.
> > ---------------------------------------------------------------
> > Test: Test Imlib2 doing general smooth scaled Over blends
> > Time: 21.627 sec.
> > 
> > On Fri, 2005-02-25 at 02:29 -0500, Jon Smirl wrote:
> > > Give XGL a try and see if you can get it to work. You may be surprised
> > > at the numbers.
> > > http://lists.freedesktop.org/pipermail/xorg/2004-November/004358.html
> > >
> > > On Fri, 25 Feb 2005 07:19:47 +0000, Cameron <hiryu at audioseek.net> wrote:
> > > > Hello,
> > > >
> > > > I'm sure many people have seen imlib2 vs xrender benchmarks before,
> > > > however, I still think these deserve a look. I do have render
> > > > acceleration enabled for my card. My card is also quite high end.
> > > >
> > > > http://audioseek.net/~hiryu/render.html
> > > >
> > > > Anyway, hope this is helpful.
> > > >
> > > > -Cameron
> > > >
> > > > _______________________________________________
> > > > xorg mailing list
> > > > xorg at lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/xorg
> > > >
> > >
> > >
> > 
> > _______________________________________________
> > xorg mailing list
> > xorg at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/xorg
> > 
> 
> 

That's actually pretty good :-) because that's all done in software!

I've looked at render_bench and it creates Pictures with wrong
attributes "component alpha" and "dither" true for both target pictures
and source pictures. I don't think that's what rasterman wanted to do.
Xgl always fall-back to software rendering as soon as it sees the dither
flag right now, I guess in a lot of cases the dithering flag can just be
ignored and for the rest, all I really need is one line in Xgl to turn
on GL dithering, I should fix that. :-)

However, I don't think dithering should be used in render_bench. The
attached patch fixes the render_bench program so that Xgl will actually
accelerate it.

I get the following results when running render_bench on AMD athlon 1800
+ with GeForce4:

Available XRENDER filters:
nearest
bilinear
convolution
fast
good
best
Setup...
*** ROUND 1 ***
---------------------------------------------------------------
Test: Test Xrender doing non-scaled Over blends
Time: 0.115 sec.
---------------------------------------------------------------
Test: Test Xrender (offscreen) doing non-scaled Over blends
Time: 0.127 sec.
---------------------------------------------------------------
Test: Test Imlib2 doing non-scaled Over blends
Time: 0.593 sec.
*** ROUND 2 ***
---------------------------------------------------------------
Test: Test Xrender doing 1/2 scaled Over blends
Time: 0.071 sec.
---------------------------------------------------------------
Test: Test Xrender (offscreen) doing 1/2 scaled Over blends
Time: 0.071 sec.
---------------------------------------------------------------
Test: Test Imlib2 doing 1/2 scaled Over blends
Time: 0.222 sec.
*** ROUND 3 ***
---------------------------------------------------------------
Test: Test Xrender doing 2* smooth scaled Over blends
Time: 0.319 sec.
---------------------------------------------------------------
Test: Test Xrender (offscreen) doing 2* smooth scaled Over blends
Time: 0.345 sec.
---------------------------------------------------------------
Test: Test Imlib2 doing 2* smooth scaled Over blends
Time: 8.019 sec.
*** ROUND 4 ***
---------------------------------------------------------------
Test: Test Xrender doing 2* nearest scaled Over blends
Time: 0.317 sec.
---------------------------------------------------------------
Test: Test Xrender (offscreen) doing 2* nearest scaled Over blends
Time: 0.340 sec.
---------------------------------------------------------------
Test: Test Imlib2 doing 2* nearest scaled Over blends
Time: 3.005 sec.
*** ROUND 6 ***
---------------------------------------------------------------
Test: Test Xrender doing general nearest scaled Over blends
Time: 0.480 sec.
---------------------------------------------------------------
Test: Test Xrender (offscreen) doing general nearest scaled Over blends
Time: 0.597 sec.
---------------------------------------------------------------
Test: Test Imlib2 doing general nearest scaled Over blends
Time: 5.509 sec.
*** ROUND 7 ***
---------------------------------------------------------------
Test: Test Xrender doing general smooth scaled Over blends
Time: 0.511 sec.
---------------------------------------------------------------
Test: Test Xrender (offscreen) doing general smooth scaled Over blends
Time: 0.569 sec.
---------------------------------------------------------------
Test: Test Imlib2 doing general smooth scaled Over blends
Time: 25.736 sec.

That's a bit better, and there's still some room for improvements.

I'd like to see what kind of results we get from the GeForce 6800 card
when this test is run properly. Cameron, can you run this test on Xgl
again with my patch applied to render_bench?

The previous results must have made a bunch of people think twice about
Xgl. :-)

-David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: render_bench-fix.diff
Type: text/x-patch
Size: 884 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20050225/71f0987e/attachment.bin>


More information about the xorg mailing list