aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/SkBenchmark.h
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-12-03 18:17:16 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-12-03 18:17:16 +0000
commit3361471a3504ecd0351ff70f4c42d8d6fee963d4 (patch)
tree1886e770069303c70c588c396b2d9c19343e3adc /bench/SkBenchmark.h
parente3bb3bce3e9c1f3bc8ee779b1b3383c18e560bce (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.h17
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;