diff options
author | Yuqian Li <liyuqian@google.com> | 2017-01-06 16:31:46 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-09 18:53:06 +0000 |
commit | d4ed326d6f3704995b0e91292bf2c87e9d36bb14 (patch) | |
tree | 7ccc23d15e6162acfcb2ef7d192eeaebdb8d9dfe /src/splicer | |
parent | 2e2cb9bc768bd13e1beeafc9acf8b8f19bea3215 (diff) |
Improve quad edges' smoothness in non-AA cases
Previously, non-AA quad edges only have an accuracy about 1/2 pixel
(while the AA quad edges have an accuracy about 1/8 pixel). Now, we
increase non-AA quad edges' accuracy to 1/8 pixel as well.
The difference is very significant for rotating non-AA filled circles.
For example, run `./out/Debug/SampleApp --slide GM:fillcircle` with AA
turned off (by pressing b).
The benchmark added reveals that increasing quad accuracy from 1/2 to
1/8 doesn't affect the performance significantly. The following is the
1/2-accuracy performance versus 1/8-accuracy performance:
curr/maxrss loops min median mean max stddev samples
config bench
7/17 MB 19 2.43µs 2.57µs 2.81µs 10.5µs 22% 16119
8888 path_fill_big_nonaacircle
7/17 MB 17 1.38µs 1.42µs 1.52µs 13µs 20% 21409
8888 path_fill_small_nonaacircle
curr/maxrss loops min median mean max stddev samples
config bench
7/17 MB 71 2.52µs 2.59µs 2.79µs 7.67µs 19% 7557
8888 path_fill_big_nonaacircle
7/17 MB 64 1.45µs 1.49µs 1.51µs 2.39µs 5% 12704
8888 path_fill_small_nonaacircle
BUG=skia:
Change-Id: I3482098aeafcc6f2ec9aa3382977c0dc1b650964
Reviewed-on: https://skia-review.googlesource.com/6699
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'src/splicer')
0 files changed, 0 insertions, 0 deletions