aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/DashBench.cpp
diff options
context:
space:
mode:
authorGravatar mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-05-05 13:46:10 +0000
committerGravatar mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-05-05 13:46:10 +0000
commit99a6ef48e396901b6cfb007b49d592ffac2bc597 (patch)
treecdd74b30992040504d8b511ae46525ed664cc86e /bench/DashBench.cpp
parent35a81dfdb2796ca47703b17173c933ece933b953 (diff)
add different stroke-widths to dash bench
git-svn-id: http://skia.googlecode.com/svn/trunk@3843 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/DashBench.cpp')
-rw-r--r--bench/DashBench.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/bench/DashBench.cpp b/bench/DashBench.cpp
index b741c8dfc6..f1ff544e69 100644
--- a/bench/DashBench.cpp
+++ b/bench/DashBench.cpp
@@ -29,14 +29,21 @@ static void path_hline(SkPath* path) {
}
class DashBench : public SkBenchmark {
+ SkString fName;
SkTDArray<SkScalar> fIntervals;
+ int fWidth;
enum {
N = SkBENCHLOOP(100)
};
public:
- DashBench(void* param, const SkScalar intervals[], int count) : INHERITED(param) {
+ DashBench(void* param, const SkScalar intervals[], int count, int width) : INHERITED(param) {
fIntervals.append(count, intervals);
+ for (int i = 0; i < count; ++i) {
+ fIntervals[i] *= width;
+ }
+ fWidth = width;
+ fName.printf("dash_%d", width);
}
virtual void makePath(SkPath* path) {
@@ -45,14 +52,14 @@ public:
protected:
virtual const char* onGetName() SK_OVERRIDE {
- return "dash";
+ return fName.c_str();
}
virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
SkPaint paint;
this->setupPaint(&paint);
paint.setStyle(SkPaint::kStroke_Style);
-// paint.setStrokeWidth(SK_Scalar1);
+ paint.setStrokeWidth(SkIntToScalar(fWidth));
paint.setAntiAlias(false);
SkPath path;
@@ -75,6 +82,10 @@ static const SkScalar gDots[] = { SK_Scalar1, SK_Scalar1 };
#define PARAM(array) array, SK_ARRAY_COUNT(array)
-static SkBenchmark* gF0(void* p) { return new DashBench(p, PARAM(gDots)); }
+static SkBenchmark* gF0(void* p) { return new DashBench(p, PARAM(gDots), 0); }
+static SkBenchmark* gF1(void* p) { return new DashBench(p, PARAM(gDots), 1); }
+static SkBenchmark* gF2(void* p) { return new DashBench(p, PARAM(gDots), 4); }
static BenchRegistry gR0(gF0);
+static BenchRegistry gR1(gF1);
+static BenchRegistry gR2(gF2);