[cairo] text measurement in perf?
brian.ewins at gmail.com
Fri May 25 16:21:41 PDT 2007
Text measurement on the mac is a bit better now :) ...
quartz-rgba glyph-extents-100 300.19 9.11% -> 45.77
1.30%: 6.31x speedup
quartz-rgb glyph-extents-100 297.16 2.89% -> 45.40
0.39%: 6.20x speedup
(this is the test I described in the previous mail)
the big figures from the profile... before:
and after the fix:
13.5% _cairo_atsui_font_scaled_glyph_init (10%
ATSGlyphGetScreenMetrics, 3% transforms)
Not much fat left to cut there. We could probably transform less here,
I scale from device extents to user extents, then cairo scales them
back in cairo_scaled_font.c . Not very high on the profile though.
On 25/05/07, Baz <brian.ewins at gmail.com> wrote:
> I'm hoping to tackle some of the issues firefox have with slow text
> measurement on the mac this weekend. I've got a fix in mind, but
> perf-diff isn't going to notice it - the 'text' perf test renders
> parts of the same string repeatedly and won't ask for a lot of glyph
> I think I want to add a perf test for glyph-extents (rather than
> text-extents, since programs using the 'real' font api will do
> text-to-glyphs for themselves). I was thinking of taking chunks of of,
> eg, 100 glyphs at a time, filling the glyph array with sequential
> glyph ids modulo some largish number - so I'm not always hitting the
> cache - and not bothering to render the text at all.
> Does this sound reasonable? Any better ideas before I head home and code this?
>  http://weblogs.mozillazine.org/roc/archives/2007/05/the_glyph_bound.html
More information about the cairo