diff options
author | Derek Sollenberger <djsollen@google.com> | 2011-04-14 09:57:06 -0400 |
---|---|---|
committer | Derek Sollenberger <djsollen@google.com> | 2011-04-14 15:01:11 -0400 |
commit | 87b8e645865f9633f410c02252a0fd3feb18f09b (patch) | |
tree | 21e2521ed6f69bf466849f7c9579c37aa6b22b06 /bench/RectBench.cpp | |
parent | 7f10e10e25231b613ebb242fa14ad8c924ce694f (diff) | |
download | external_skia-87b8e645865f9633f410c02252a0fd3feb18f09b.zip external_skia-87b8e645865f9633f410c02252a0fd3feb18f09b.tar.gz external_skia-87b8e645865f9633f410c02252a0fd3feb18f09b.tar.bz2 |
Skia Merge (revision 1116)
There is a companion change in external/webkit
Change-Id: I1c4110e7520bbef3f4e5f9551adb7ec79ac1e3ed
Diffstat (limited to 'bench/RectBench.cpp')
-rw-r--r-- | bench/RectBench.cpp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp index a6f300e..fb54640 100644 --- a/bench/RectBench.cpp +++ b/bench/RectBench.cpp @@ -7,7 +7,7 @@ class RectBench : public SkBenchmark { public: - int fShift; + int fShift, fStroke; enum { W = 640, H = 480, @@ -16,8 +16,9 @@ public: SkRect fRects[N]; SkColor fColors[N]; - RectBench(void* param, int shift) : INHERITED(param), fShift(shift) { + RectBench(void* param, int shift, int stroke = 0) : INHERITED(param), fShift(shift), fStroke(stroke) { SkRandom rand; + const SkScalar offset = SK_Scalar1/3; for (int i = 0; i < N; i++) { int x = rand.nextU() % W; int y = rand.nextU() % H; @@ -29,14 +30,17 @@ public: y -= h/2; fRects[i].set(SkIntToScalar(x), SkIntToScalar(y), SkIntToScalar(x+w), SkIntToScalar(y+h)); + fRects[i].offset(offset, offset); fColors[i] = rand.nextU() | 0xFF808080; } } SkString fName; const char* computeName(const char root[]) { - fName.set(root); - fName.appendS32(fShift); + fName.printf("%s_%d", root, fShift); + if (fStroke > 0) { + fName.appendf("_stroke_%d", fStroke); + } return fName.c_str(); } @@ -48,6 +52,10 @@ protected: virtual const char* onGetName() { return computeName("rects"); } virtual void onDraw(SkCanvas* canvas) { SkPaint paint; + if (fStroke > 0) { + paint.setStyle(SkPaint::kStroke_Style); + paint.setStrokeWidth(SkIntToScalar(fStroke)); + } for (int i = 0; i < N; i++) { paint.setColor(fColors[i]); this->setupPaint(&paint); @@ -192,8 +200,10 @@ private: }; -static SkBenchmark* RectFactory1(void* p) { return SkNEW_ARGS(RectBench, (p, 1)); } -static SkBenchmark* RectFactory2(void* p) { return SkNEW_ARGS(RectBench, (p, 3)); } +static SkBenchmark* RectFactory1F(void* p) { return SkNEW_ARGS(RectBench, (p, 1)); } +static SkBenchmark* RectFactory1S(void* p) { return SkNEW_ARGS(RectBench, (p, 1, 4)); } +static SkBenchmark* RectFactory2F(void* p) { return SkNEW_ARGS(RectBench, (p, 3)); } +static SkBenchmark* RectFactory2S(void* p) { return SkNEW_ARGS(RectBench, (p, 3, 4)); } static SkBenchmark* OvalFactory1(void* p) { return SkNEW_ARGS(OvalBench, (p, 1)); } static SkBenchmark* OvalFactory2(void* p) { return SkNEW_ARGS(OvalBench, (p, 3)); } static SkBenchmark* RRectFactory1(void* p) { return SkNEW_ARGS(RRectBench, (p, 1)); } @@ -234,8 +244,11 @@ static SkBenchmark* BlitMaskShaderFactory(void* p) { BlitMaskBench::KMaskShader, "maskshader") ); } -static BenchRegistry gRectReg1(RectFactory1); -static BenchRegistry gRectReg2(RectFactory2); + +static BenchRegistry gRectReg1F(RectFactory1F); +static BenchRegistry gRectReg1S(RectFactory1S); +static BenchRegistry gRectReg2F(RectFactory2F); +static BenchRegistry gRectReg2S(RectFactory2S); static BenchRegistry gOvalReg1(OvalFactory1); static BenchRegistry gOvalReg2(OvalFactory2); static BenchRegistry gRRectReg1(RRectFactory1); |