Index: bench/BlurBench.cpp |
=================================================================== |
--- bench/BlurBench.cpp (revision 11004) |
+++ bench/BlurBench.cpp (working copy) |
@@ -13,10 +13,10 @@ |
#include "SkString.h" |
#include "SkBlurMaskFilter.h" |
-#define SMALL SkIntToScalar(2) |
-#define REAL SkFloatToScalar(1.5f) |
-#define BIG SkIntToScalar(10) |
-#define REALBIG SkFloatToScalar(100.5f) |
+#define SMALL SkFloatToScalar(1.6547f) |
bsalomon
2013/09/05 13:09:10
This looks really weird, as though someone chose t
robertphillips
2013/09/05 14:00:14
I considered doing that (using a conversion method
bsalomon
2013/09/05 14:10:55
It just seems like a future editor of this file (a
|
+#define REAL SkFloatToScalar(1.366025f) |
+#define BIG SkFloatToScalar(6.2735f) |
+#define REALBIG SkFloatToScalar(58.523675f) |
static const char* gStyleName[] = { |
"normal", |
@@ -26,23 +26,23 @@ |
}; |
class BlurBench : public SkBenchmark { |
- SkScalar fRadius; |
+ SkScalar fSigma; |
+ SkScalar fOffset; |
SkBlurMaskFilter::BlurStyle fStyle; |
uint32_t fFlags; |
SkString fName; |
public: |
- BlurBench(void* param, SkScalar rad, SkBlurMaskFilter::BlurStyle bs, uint32_t flags = 0) : INHERITED(param) { |
- fRadius = rad; |
+ BlurBench(void* param, SkScalar sigma, SkScalar offset, SkBlurMaskFilter::BlurStyle bs, |
+ const char* size, uint32_t flags = 0) : INHERITED(param) { |
+ fSigma = sigma; |
+ fOffset = offset; |
fStyle = bs; |
fFlags = flags; |
- const char* name = rad > 0 ? gStyleName[bs] : "none"; |
- const char* quality = flags & SkBlurMaskFilter::kHighQuality_BlurFlag ? "high_quality" : "low_quality"; |
- if (SkScalarFraction(rad) != 0) { |
- fName.printf("blur_%.2f_%s_%s", SkScalarToFloat(rad), name, quality); |
- } else { |
- fName.printf("blur_%d_%s_%s", SkScalarRound(rad), name, quality); |
- } |
+ const char* name = fSigma > 0 ? gStyleName[bs] : "none"; |
+ const char* quality = flags & SkBlurMaskFilter::kHighQuality_BlurFlag ? "high_quality" |
+ : "low_quality"; |
+ fName.printf("blur_%s_%s_%s", size, name, quality); |
} |
protected: |
@@ -60,10 +60,10 @@ |
for (int i = 0; i < SkBENCHLOOP(10); i++) { |
SkRect r = SkRect::MakeWH(rand.nextUScalar1() * 400, |
rand.nextUScalar1() * 400); |
- r.offset(fRadius, fRadius); |
+ r.offset(fOffset, fOffset); |
- if (fRadius > 0) { |
- SkMaskFilter* mf = SkBlurMaskFilter::Create(fRadius, fStyle, fFlags); |
+ if (fSigma > 0) { |
+ SkMaskFilter* mf = SkBlurMaskFilter::Create(fStyle, fSigma, fFlags); |
paint.setMaskFilter(mf)->unref(); |
} |
canvas->drawOval(r, paint); |
@@ -74,32 +74,32 @@ |
typedef SkBenchmark INHERITED; |
}; |
-DEF_BENCH(return new BlurBench(p, SMALL, SkBlurMaskFilter::kNormal_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, SMALL, SkBlurMaskFilter::kSolid_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, SMALL, SkBlurMaskFilter::kOuter_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, SMALL, SkBlurMaskFilter::kInner_BlurStyle);) |
+DEF_BENCH(return new BlurBench(p, SMALL, 2, SkBlurMaskFilter::kNormal_BlurStyle, "2");) |
+DEF_BENCH(return new BlurBench(p, SMALL, 2, SkBlurMaskFilter::kSolid_BlurStyle, "2");) |
+DEF_BENCH(return new BlurBench(p, SMALL, 2, SkBlurMaskFilter::kOuter_BlurStyle, "2");) |
+DEF_BENCH(return new BlurBench(p, SMALL, 2, SkBlurMaskFilter::kInner_BlurStyle, "2");) |
-DEF_BENCH(return new BlurBench(p, BIG, SkBlurMaskFilter::kNormal_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, BIG, SkBlurMaskFilter::kSolid_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, BIG, SkBlurMaskFilter::kOuter_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, BIG, SkBlurMaskFilter::kInner_BlurStyle);) |
+DEF_BENCH(return new BlurBench(p, BIG, 10, SkBlurMaskFilter::kNormal_BlurStyle, "10");) |
+DEF_BENCH(return new BlurBench(p, BIG, 10, SkBlurMaskFilter::kSolid_BlurStyle, "10");) |
+DEF_BENCH(return new BlurBench(p, BIG, 10, SkBlurMaskFilter::kOuter_BlurStyle, "10");) |
+DEF_BENCH(return new BlurBench(p, BIG, 10, SkBlurMaskFilter::kInner_BlurStyle, "10");) |
-DEF_BENCH(return new BlurBench(p, REALBIG, SkBlurMaskFilter::kNormal_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, REALBIG, SkBlurMaskFilter::kSolid_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, REALBIG, SkBlurMaskFilter::kOuter_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, REALBIG, SkBlurMaskFilter::kInner_BlurStyle);) |
+DEF_BENCH(return new BlurBench(p, REALBIG, 100.5f, SkBlurMaskFilter::kNormal_BlurStyle, "100.50");) |
+DEF_BENCH(return new BlurBench(p, REALBIG, 100.5f, SkBlurMaskFilter::kSolid_BlurStyle, "100.50");) |
+DEF_BENCH(return new BlurBench(p, REALBIG, 100.5f, SkBlurMaskFilter::kOuter_BlurStyle, "100.50");) |
+DEF_BENCH(return new BlurBench(p, REALBIG, 100.5f, SkBlurMaskFilter::kInner_BlurStyle, "100.50");) |
-DEF_BENCH(return new BlurBench(p, REAL, SkBlurMaskFilter::kNormal_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, REAL, SkBlurMaskFilter::kSolid_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, REAL, SkBlurMaskFilter::kOuter_BlurStyle);) |
-DEF_BENCH(return new BlurBench(p, REAL, SkBlurMaskFilter::kInner_BlurStyle);) |
+DEF_BENCH(return new BlurBench(p, REAL, 1.5f, SkBlurMaskFilter::kNormal_BlurStyle, "1.50");) |
+DEF_BENCH(return new BlurBench(p, REAL, 1.5f, SkBlurMaskFilter::kSolid_BlurStyle, "1.50");) |
+DEF_BENCH(return new BlurBench(p, REAL, 1.5f, SkBlurMaskFilter::kOuter_BlurStyle, "1.50");) |
+DEF_BENCH(return new BlurBench(p, REAL, 1.5f, SkBlurMaskFilter::kInner_BlurStyle, "1.50");) |
-DEF_BENCH(return new BlurBench(p, SMALL, SkBlurMaskFilter::kNormal_BlurStyle, SkBlurMaskFilter::kHighQuality_BlurFlag);) |
+DEF_BENCH(return new BlurBench(p, SMALL, 2, SkBlurMaskFilter::kNormal_BlurStyle, "2", SkBlurMaskFilter::kHighQuality_BlurFlag);) |
-DEF_BENCH(return new BlurBench(p, BIG, SkBlurMaskFilter::kNormal_BlurStyle, SkBlurMaskFilter::kHighQuality_BlurFlag);) |
+DEF_BENCH(return new BlurBench(p, BIG, 10, SkBlurMaskFilter::kNormal_BlurStyle, "10", SkBlurMaskFilter::kHighQuality_BlurFlag);) |
-DEF_BENCH(return new BlurBench(p, REALBIG, SkBlurMaskFilter::kNormal_BlurStyle, SkBlurMaskFilter::kHighQuality_BlurFlag);) |
+DEF_BENCH(return new BlurBench(p, REALBIG, 100.5f, SkBlurMaskFilter::kNormal_BlurStyle, "100.50", SkBlurMaskFilter::kHighQuality_BlurFlag);) |
-DEF_BENCH(return new BlurBench(p, REAL, SkBlurMaskFilter::kNormal_BlurStyle, SkBlurMaskFilter::kHighQuality_BlurFlag);) |
+DEF_BENCH(return new BlurBench(p, REAL, 1.5f, SkBlurMaskFilter::kNormal_BlurStyle, "1.50", SkBlurMaskFilter::kHighQuality_BlurFlag);) |
-DEF_BENCH(return new BlurBench(p, 0, SkBlurMaskFilter::kNormal_BlurStyle);) |
+DEF_BENCH(return new BlurBench(p, 0, 0, SkBlurMaskFilter::kNormal_BlurStyle, "0");) |