[cairo] [PATCH 0/3] Optimize VBO size for GL and EGL

Bryce Harrington bryce at osg.samsung.com
Thu Jul 31 18:51:32 PDT 2014

Last year I posted a patch I'd used in some experiments I did with
varying the VBO size.[1] I'd found that this had an appreciable (8%)
performance impact on the firefox-fishbowl tests.  Chris Wilson
suggested some improvements[2] to enable this performance optimization
to actually get taken advantage of.

The first patch is the original proposed patch.  The second makes the
VBO size trackable on a per-backend basis.  The third applies the actual
optimization, changing the default VBO size for GL to 1M while leaving
it at 16k for EGL.

The firefox-fishbowl test case measures the performance of a large
number of moving sprites.  I do not know of any real-world use cases
this improves, but presumably the fishbowl test suggests that this patch
should have some benefit to cairogl-based animation.

1: http://www.bryceharrington.org/wordpress/2013/08/vbo-size/
2: http://lists.cairographics.org/archives/cairo/2013-August/024576.html

Bryce Harrington (3):
  cairo-gl: Make VBO size run-time settable
  gl: Track the VBO size as a property of the ctx
  gl: Increase default VBO size on GL to 1M

 src/cairo-egl-context.c  |    6 ++++++
 src/cairo-gl-composite.c |    3 ++-
 src/cairo-gl-device.c    |    4 +++-
 src/cairo-gl-info.c      |   20 ++++++++++++++++++++
 src/cairo-gl-private.h   |    9 +++++++--
 5 files changed, 38 insertions(+), 4 deletions(-)


More information about the cairo mailing list