[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