aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/Benchmark.h
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2014-11-21 06:19:36 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-11-21 06:19:36 -0800
commit5b69377507478623dcf5b11f3ecb010f87c4794f (patch)
tree800d755d25ec30551128e645f0b873a10de2e1e5 /bench/Benchmark.h
parente77dadd91ae6f4319c2c047e7e36cc79bb4d1eff (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.h7
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;