diff options
author | msarett <msarett@google.com> | 2016-08-11 14:40:03 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-11 14:40:04 -0700 |
commit | d22a817ff57986407facd16af36320fc86ce02da (patch) | |
tree | f4862dd53d077684709b9ce9b72db508c80218ed /tests/PathCoverageTest.cpp | |
parent | ee92063f9e1a28e301fe6cdc804dca0ccc837f67 (diff) |
Optimized implementation of quickReject()
Impl Overview
(1) Keep the device clip bounds up to date. This
requires minimal additional work in a few places
throughout canvas.
(2) Keep track of if the ctm isScaleTranslate. Yes,
there's a function that does this, but it's slow
to call.
(3) Perform the src->device transform in quick reject,
then check intersection/nan.
Other Notes:
(1) NaN and intersection checks are performed
simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
case.
(4) SkRasterClip::isEmpty() is handled by the intersection
check.
Performance on Nexus 6P:
93.2ms -> 59.8ms
Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
Review-Url: https://codereview.chromium.org/2225393002
Diffstat (limited to 'tests/PathCoverageTest.cpp')
0 files changed, 0 insertions, 0 deletions