[cairo] update on cairo-gl performance

Eric Anholt eric at anholt.net
Tue Oct 20 15:56:34 PDT 2009


Just thought I'd throw out some new numbers here in case people were
curious.  This is 2.6.32-rc4, cairo master, libdrm master, mesa master,
2d master, pixman from august 12th.  Hardware is Lenovo T61, GM965, 2G
ram, 2Ghz Core 2 Duo.

Note that this isn't apples-to-apples yet.  cairo-gl doesn't do
component alpha, so any subpixel text in these tests won't be rendered
correctly.  I'm not sure how the setup is supposed to work in a cairo
backend, so I haven't fixed it yet.  Anyone understand that?

I've done most of my profiling on firefox-talos-gfx, and through fixes
mostly in Mesa and libdrm I've got it down from upwards of 180 seconds
on this hardware to 56 seconds.  At this point, the test consumes around
90% of the CPU still, while around 10% of the time it's idle blocked on
the hardware due to the useless clears of temporary buffers.

What's coming up in cairo-gl:
      * cworth is working on GLSL.  This will reduce the CPU usage for
        state updates, and give us the framework for supporting
        gradients and possibly even better shaders for other compositing
        than we're doing today with the old nasty fixed function
        pipeline.
      * ickle is going to be avoiding the extra clears of buffers that
        are used internally in cairo.  This should be a good win for
        both xlib and gl.
      * I'm going to keep working on performance outside of cairo.  My
        next stop will be the gvim trace, I think.  Something's going
        terribly wrong with memory consumption in this one.
      * Once I've got some piglit testcases (should be soon), I'll add
        support for GL_ALPHA fbos to the intel GL drivers, which should
        cut memory bandwidth consumption for our masks.

Finally, the numbers:

[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]    image            firefox-talos-gfx   44.507   44.591   0.13%    3/3
[  0]       gl            firefox-talos-gfx   56.005   56.231   0.37%    3/3
[  0]     xlib            firefox-talos-gfx   92.570   92.631   0.15%    3/3
[  1]    image                         gvim    7.421    7.438   0.19%    3/3
[  1]       gl                         gvim   91.088   91.207   0.38%    3/3
[  1]     xlib                         gvim   49.632   49.638   0.29%    3/3
[  2]    image         firefox-planet-gnome   37.715   37.952   0.53%    3/3
[  2]       gl         firefox-planet-gnome   91.796   92.135   0.29%    3/3
[  2]     xlib         firefox-planet-gnome   48.483   48.596   0.19%    3/3
[  3]    image                    evolution    6.148    6.156   0.28%    3/3
[  3]       gl                    evolution   66.187   66.418   1.43%    3/3
[  3]     xlib                    evolution   41.207   41.226   0.98%    3/3
[  4]    image                      poppler    5.968    5.978   1.09%    3/3
[  4]       gl                      poppler   16.815   16.843   3.98%    3/3
[  4]     xlib                      poppler   35.851   35.888   0.16%    3/3
[  5]    image            firefox-talos-svg   74.505   76.889   1.48%    3/3
[  5]       gl            firefox-talos-svg  111.540  111.883   1.00%    3/3
[  5]     xlib            firefox-talos-svg   96.115   96.513   0.24%    3/3
[  6]    image         gnome-system-monitor    8.001    8.057   0.35%    3/3
[  6]       gl         gnome-system-monitor    7.865    7.891   0.55%    3/3
[  6]     xlib         gnome-system-monitor    9.322    9.547   2.79%    3/3
[  7]    image           gnome-terminal-vim    8.504    8.520   0.20%    3/3
[  7]       gl           gnome-terminal-vim   14.916   14.956   1.03%    3/3
[  7]     xlib           gnome-terminal-vim   44.785   44.864   0.95%    3/3
[  8]    image           swfdec-giant-steps    3.039    3.047   0.21%    3/3
[  8]       gl           swfdec-giant-steps   10.318   10.391   0.34%    3/3
[  8]     xlib           swfdec-giant-steps    6.883    6.929   0.57%    3/3
[  9]    image               swfdec-youtube    7.953    8.015   0.42%    3/3
[  9]       gl               swfdec-youtube    9.134    9.215   1.52%    3/3
[  9]     xlib               swfdec-youtube    5.417    5.473   0.52%    3/3


-- 
Eric Anholt
eric at anholt.net                         eric.anholt at intel.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://lists.cairographics.org/archives/cairo/attachments/20091020/63c5d2af/attachment.pgp 


More information about the cairo mailing list