Commit Graph

1 Commits

Author SHA1 Message Date
tomhudson@google.com
ddab2276cb Duplicates code from GrPathUtils to verify that an approximation for the number
of points in a quadratic curve is within +/- 2x the value determined by the
previous expensive method.

Running a similar approximation method on the Guimark2 HTML5 Charting demo drops
the share of time spent in SkPoint::distanceToLineSegmentBetweenSqd() from 4.57%
to under 0.6%, although SkPath::Iter::next(), SkPath::lineTo(), and
GrPathUtils::quadraticPointCount() all increase a bit.

Using a similar approximation method for SampleSlides.cpp produces visually
reasonable results. Without a relevant gm (it looks like gm/pathfill.cpp doesn't
have explicit quadratics?) I'm not sure how to get a better output quality
test.

We could avoid code duplication by:
 - have two implementations in GrPathUtils (computedQuadraticPointCount() &
estimatedQuadraticPointCount() are my working titles)
 - use a #define to select between them at compile time
 - expose both of them in the header file for this test to access



git-svn-id: http://skia.googlecode.com/svn/trunk@1540 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-08 14:46:28 +00:00