[cairo] perf: long dashed lines

Vladimir Vukicevic vladimir at pobox.com
Sat Feb 2 15:54:46 PST 2008


Here's one patch that yields a decent speed win... _compute_face was  
doing a lot of floating point math on values that are constant for any  
given segment; this pulls those computations up out of the loops and  
just passes the values down.  Note that there are subtle changes in  
the test output with this; this is, I believe, due to the change in  
how some values are calculated in _cairo_stroker_line_to_dashed  
(particularly dx2, dy2 in the loop).

I don't have cairo-perf runs to post, I need to get to a machine  
without speedstep to do that.  The instruction count reduction is  
around 30%.

     - Vlad



More information about the cairo mailing list