[cairo] Speedup _cairo_matrix_to_pixman_matrix

Daniel Amelang daniel.amelang at gmail.com
Wed Nov 22 10:16:55 PST 2006


On 11/22/06, Xan Lopez <xan.lopez at gmail.com> wrote:
> So...
> I've not yet setup cairo-perf on the hardware, but using torturer and jorn's
> timetext the results look like this:
>
> Cairo 1.3.2: Drawn label 2708 times. Average time spent drawing (in
> seconds): 0.002021
> Cairo 1.3.2 + 3 patches: Drawn label 2716 times. Average time spent drawing
> (in seconds): 0.002015
> Cairo 1.3.2 + matrix indentity patch: Drawn label 2696 times. Average time
> spent drawing (in seconds): 0.002135
> Cairo 1.3.2 + cairo_lround patch: Drawn label 2703 times. Average time spent
> drawing (in seconds): 0.002085
> Cairo 1.3.2 + glyph gstate patch: Drawn label 2693 times. Average time spent
> drawing (in seconds): 0.002097

Whoops, you picked up the identity patch instead of the
_cairo_matrix_to_pixman_matrix patch :) So the three patches, in order
of estimated impact were:

1) _cairo_lround
2) _cairo_gstate_transform_glyphs_for_backend (be sure that you
applied my version of this, as I'm pretty sure it's faster than
Aivars' and Jorn's)
3) Patch to speedup _cairo_matrix_to_pximan_matrix

> As you can see, the results are so similar that the numbers are not very
> meaningfull and any possible win or lose is lost in the noise (I've repeated
> all the tests several times, without changes). gtk-theme-torturer seems to
> confirm this, as the results are almost completely the same.

Yes, that's pretty disappointing, but I'll hold onto the thread of
hope that you applied Aivars' or Jorn's version of transform_glyphs,
not mine. And maybe that to_pixman patch that you missed will also
make a difference. Just leave out the is_identity one for now, to keep
the SNR high.

Thanks!

Dan


More information about the cairo mailing list