diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-03 18:17:16 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-03 18:17:16 +0000 |
commit | 3361471a3504ecd0351ff70f4c42d8d6fee963d4 (patch) | |
tree | 1886e770069303c70c588c396b2d9c19343e3adc /bench/SkBenchmark.h | |
parent | e3bb3bce3e9c1f3bc8ee779b1b3383c18e560bce (diff) |
Simplify benchmark internal API.
I'm not quite sure why I wrote such a convoluted API with setLoops()/getLoops().
This replaces it with a loops argument passed to onDraw().
This CL is largely mechanical translation from the old API to the new one.
MathBench used this->getLoops() outside onDraw(), which seems incorrect. I
fixed it.
BUG=
R=djsollen@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/99893003
git-svn-id: http://skia.googlecode.com/svn/trunk@12466 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/SkBenchmark.h')
-rw-r--r-- | bench/SkBenchmark.h | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/bench/SkBenchmark.h b/bench/SkBenchmark.h index 77e2357dd6..bf44d2cc97 100644 --- a/bench/SkBenchmark.h +++ b/bench/SkBenchmark.h @@ -67,7 +67,8 @@ public: // before the initial draw. void preDraw(); - void draw(SkCanvas*); + // Bench framework can tune loops to be large enough for stable timing. + void draw(const int loops, SkCanvas*); // Call after draw, allows the benchmark to do cleanup work outside of the // timer. When a benchmark is repeatedly drawn, this is only called once @@ -104,15 +105,6 @@ public: fClearMask = clearMask; } - // The bench framework calls this to control the runtime of a bench. - void setLoops(int loops) { - fLoops = loops; - } - - // Each bench should do its main work in a loop like this: - // for (int i = 0; i < this->getLoops(); i++) { <work here> } - int getLoops() const { return fLoops; } - static void SetResourcePath(const char* resPath) { gResourcePath.set(resPath); } static SkString& GetResourcePath() { return gResourcePath; } @@ -122,7 +114,9 @@ protected: virtual const char* onGetName() = 0; virtual void onPreDraw() {} - virtual void onDraw(SkCanvas*) = 0; + // 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; virtual void onPostDraw() {} virtual SkIPoint onGetSize(); @@ -133,7 +127,6 @@ private: bool fForceFilter; SkTriState::State fDither; uint32_t fOrMask, fClearMask; - int fLoops; static SkString gResourcePath; typedef SkRefCnt INHERITED; |