diff options
author | robertphillips <robertphillips@google.com> | 2014-11-21 06:19:36 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-21 06:19:36 -0800 |
commit | 5b69377507478623dcf5b11f3ecb010f87c4794f (patch) | |
tree | 800d755d25ec30551128e645f0b873a10de2e1e5 /bench/Benchmark.h | |
parent | e77dadd91ae6f4319c2c047e7e36cc79bb4d1eff (diff) |
Add MultiPictureDraw to nanobench
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
TBR=bsalomon@google.com
Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe
Review URL: https://codereview.chromium.org/731973005
Diffstat (limited to 'bench/Benchmark.h')
-rw-r--r-- | bench/Benchmark.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bench/Benchmark.h b/bench/Benchmark.h index 508d1da694..c30167e572 100644 --- a/bench/Benchmark.h +++ b/bench/Benchmark.h @@ -70,6 +70,11 @@ public: // before the initial draw. void preDraw(); + // Called once before and after a series of draw calls to a single canvas. + // The setup/break down in these calls is not timed. + void perCanvasPreDraw(SkCanvas*); + void perCanvasPostDraw(SkCanvas*); + // Bench framework can tune loops to be large enough for stable timing. void draw(const int loops, SkCanvas*); @@ -101,6 +106,8 @@ protected: virtual const char* onGetName() = 0; virtual const char* onGetUniqueName() { return this->onGetName(); } virtual void onPreDraw() {} + virtual void onPerCanvasPreDraw(SkCanvas*) {} + virtual void onPerCanvasPostDraw(SkCanvas*) {} // Each bench should do its main work in a loop like this: // for (int i = 0; i < loops; i++) { <work here> } virtual void onDraw(const int loops, SkCanvas*) = 0; |