aboutsummaryrefslogtreecommitdiffstats
path: root/bench/RectBench.cpp
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2011-04-14 09:57:06 -0400
committerDerek Sollenberger <djsollen@google.com>2011-04-14 15:01:11 -0400
commit87b8e645865f9633f410c02252a0fd3feb18f09b (patch)
tree21e2521ed6f69bf466849f7c9579c37aa6b22b06 /bench/RectBench.cpp
parent7f10e10e25231b613ebb242fa14ad8c924ce694f (diff)
downloadexternal_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.cpp29
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);