diff options
author | Yuqian Li <liyuqian@google.com> | 2017-01-11 13:55:49 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-11 13:56:05 +0000 |
commit | 8eedbfc9ac3e14c5eac3167192cdbc5b4275adf8 (patch) | |
tree | 503ff5cf05a2b58d081c643c72bd4a2e8d741e5e /bench/PathBench.cpp | |
parent | c601698f9bf5b6cd75e712fc9d7fe142295b2d35 (diff) |
Revert "Revert "Improve quad edges' smoothness in non-AA cases""
This reverts commit 1e74cad9b4ed8079433d4e62ab3198d97436f5ec.
Reason for revert: the guard flag has now been confirmed to be landed on chromium/src. We should now be able to pass the layout tests.
Original change's description:
> Revert "Improve quad edges' smoothness in non-AA cases"
>
> This reverts commit d4ed326d6f3704995b0e91292bf2c87e9d36bb14.
>
> Reason for revert: reverting temporarily to get us rolling into Chrome again.
>
> Must be this CL right?
> https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/3364/layout-test-results/results.html
>
> Original change's description:
> > 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>
> >
>
> TBR=caryclark@google.com,liyuqian@google.com,reed@google.com,djsollen@google.com,bungeman@google.com,reviews@skia.org,fmalita@chromium.org
> BUG=skia:
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I5bc4596ab506f6f61ac2da91a07cf51d61114f31
> Reviewed-on: https://skia-review.googlesource.com/6829
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
>
TBR=djsollen@google.com,mtklein@google.com,bungeman@google.com,reviews@skia.org,caryclark@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I0ec2ea8dc0c6ad0ebdcb48878fb301c32443a09e
Reviewed-on: https://skia-review.googlesource.com/6858
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'bench/PathBench.cpp')
-rw-r--r-- | bench/PathBench.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bench/PathBench.cpp b/bench/PathBench.cpp index 4ca4401163..449d30558e 100644 --- a/bench/PathBench.cpp +++ b/bench/PathBench.cpp @@ -173,6 +173,23 @@ private: typedef PathBench INHERITED; }; +class NonAACirclePathBench: public CirclePathBench { +public: + NonAACirclePathBench(Flags flags) : INHERITED(flags) {} + + void appendName(SkString* name) override { + name->append("nonaacircle"); + } + + void setupPaint(SkPaint* paint) override { + CirclePathBench::setupPaint(paint); + paint->setAntiAlias(false); + } + +private: + typedef CirclePathBench INHERITED; +}; + // Test max speedup of Analytic AA for concave paths class AAAConcavePathBench : public PathBench { public: @@ -1090,6 +1107,9 @@ DEF_BENCH( return new CirclePathBench(FLAGS01); ) DEF_BENCH( return new CirclePathBench(FLAGS10); ) DEF_BENCH( return new CirclePathBench(FLAGS11); ) +DEF_BENCH( return new NonAACirclePathBench(FLAGS00); ) +DEF_BENCH( return new NonAACirclePathBench(FLAGS10); ) + DEF_BENCH( return new AAAConcavePathBench(FLAGS00); ) DEF_BENCH( return new AAAConcavePathBench(FLAGS10); ) DEF_BENCH( return new AAAConvexPathBench(FLAGS00); ) |