[cairo-bugs] [Bug 31603] Performance regression when drawing a CAIRO_FORMAT_RGB24 onto a xlib surface with 16bit

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Nov 15 13:06:43 PST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=31603

--- Comment #10 from Siarhei Siamashka <siarhei.siamashka at gmail.com> 2010-11-15 13:06:39 PST ---
Created an attachment (id=40286)
 View: https://bugs.freedesktop.org/attachment.cgi?id=40286
 Review: https://bugs.freedesktop.org/review?bug=31603&attachment=40286

a test patch which uses pixman for conversion

A quick and dirty patch to use pixman for conversion. This is still not a very
good solution, because a temporary image has to be created. It would be better
if xlib/xcb could do optimized x8r8g8b8->r5g6b5 conversion on-the-fly when
sending pixel data over the wire without using (large) intermediate buffers.
But the best solution is of course to use CAIRO_FORMAT_RGB16_565 by the
applications themselves.

Benchmark from ARM Cortex-A9

cairo-test-16bpp - a variant which uses CAIRO_FORMAT_RGB16_565

== original ==

$ ./cairo-test
54.2176 secs elapsed for 10000 frames

$ ./cairo-test-16bpp
2.48166 secs elapsed for 10000 frames

== Holger's patch ==

$ ./cairo-test
9.53522 secs elapsed for 10000 frames

$ ./cairo-test-16bpp
2.38052 secs elapsed for 10000 frames
                                                                               
== pixman conversion patch ==

$ ./cairo-test
5.37653 secs elapsed for 10000 frames

$ ./cairo-test-16bpp
2.39496 secs elapsed for 10000 frames

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the cairo-bugs mailing list