OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #include "SkBenchmark.h" | 8 #include "Benchmark.h" |
9 #include "SkBlurMask.h" | 9 #include "SkBlurMask.h" |
| 10 #include "SkBlurMaskFilter.h" |
10 #include "SkCanvas.h" | 11 #include "SkCanvas.h" |
11 #include "SkPaint.h" | 12 #include "SkPaint.h" |
12 #include "SkRandom.h" | 13 #include "SkRandom.h" |
13 #include "SkShader.h" | 14 #include "SkShader.h" |
14 #include "SkString.h" | 15 #include "SkString.h" |
15 #include "SkBlurMaskFilter.h" | |
16 | 16 |
17 #define SMALL SkIntToScalar(2) | 17 #define SMALL SkIntToScalar(2) |
18 #define REAL 1.5f | 18 #define REAL 1.5f |
19 #define BIG SkIntToScalar(10) | 19 #define BIG SkIntToScalar(10) |
20 #define REALBIG 100.5f | 20 #define REALBIG 100.5f |
21 | 21 |
22 static const char* gStyleName[] = { | 22 static const char* gStyleName[] = { |
23 "normal", | 23 "normal", |
24 "solid", | 24 "solid", |
25 "outer", | 25 "outer", |
26 "inner" | 26 "inner" |
27 }; | 27 }; |
28 | 28 |
29 class BlurBench : public SkBenchmark { | 29 class BlurBench : public Benchmark { |
30 SkScalar fRadius; | 30 SkScalar fRadius; |
31 SkBlurStyle fStyle; | 31 SkBlurStyle fStyle; |
32 uint32_t fFlags; | 32 uint32_t fFlags; |
33 SkString fName; | 33 SkString fName; |
34 | 34 |
35 public: | 35 public: |
36 BlurBench(SkScalar rad, SkBlurStyle bs, uint32_t flags = 0) { | 36 BlurBench(SkScalar rad, SkBlurStyle bs, uint32_t flags = 0) { |
37 fRadius = rad; | 37 fRadius = rad; |
38 fStyle = bs; | 38 fStyle = bs; |
39 fFlags = flags; | 39 fFlags = flags; |
(...skipping 28 matching lines...) Expand all Loading... |
68 SkMaskFilter* mf = SkBlurMaskFilter::Create(fStyle, | 68 SkMaskFilter* mf = SkBlurMaskFilter::Create(fStyle, |
69 SkBlurMask::ConvertRadiusToSigma(fRa
dius), | 69 SkBlurMask::ConvertRadiusToSigma(fRa
dius), |
70 fFlags); | 70 fFlags); |
71 paint.setMaskFilter(mf)->unref(); | 71 paint.setMaskFilter(mf)->unref(); |
72 } | 72 } |
73 canvas->drawOval(r, paint); | 73 canvas->drawOval(r, paint); |
74 } | 74 } |
75 } | 75 } |
76 | 76 |
77 private: | 77 private: |
78 typedef SkBenchmark INHERITED; | 78 typedef Benchmark INHERITED; |
79 }; | 79 }; |
80 | 80 |
81 DEF_BENCH(return new BlurBench(SMALL, kNormal_SkBlurStyle);) | 81 DEF_BENCH(return new BlurBench(SMALL, kNormal_SkBlurStyle);) |
82 DEF_BENCH(return new BlurBench(SMALL, kSolid_SkBlurStyle);) | 82 DEF_BENCH(return new BlurBench(SMALL, kSolid_SkBlurStyle);) |
83 DEF_BENCH(return new BlurBench(SMALL, kOuter_SkBlurStyle);) | 83 DEF_BENCH(return new BlurBench(SMALL, kOuter_SkBlurStyle);) |
84 DEF_BENCH(return new BlurBench(SMALL, kInner_SkBlurStyle);) | 84 DEF_BENCH(return new BlurBench(SMALL, kInner_SkBlurStyle);) |
85 | 85 |
86 DEF_BENCH(return new BlurBench(BIG, kNormal_SkBlurStyle);) | 86 DEF_BENCH(return new BlurBench(BIG, kNormal_SkBlurStyle);) |
87 DEF_BENCH(return new BlurBench(BIG, kSolid_SkBlurStyle);) | 87 DEF_BENCH(return new BlurBench(BIG, kSolid_SkBlurStyle);) |
88 DEF_BENCH(return new BlurBench(BIG, kOuter_SkBlurStyle);) | 88 DEF_BENCH(return new BlurBench(BIG, kOuter_SkBlurStyle);) |
(...skipping 11 matching lines...) Expand all Loading... |
100 | 100 |
101 DEF_BENCH(return new BlurBench(SMALL, kNormal_SkBlurStyle, SkBlurMaskFilter::kHi
ghQuality_BlurFlag);) | 101 DEF_BENCH(return new BlurBench(SMALL, kNormal_SkBlurStyle, SkBlurMaskFilter::kHi
ghQuality_BlurFlag);) |
102 | 102 |
103 DEF_BENCH(return new BlurBench(BIG, kNormal_SkBlurStyle, SkBlurMaskFilter::kHigh
Quality_BlurFlag);) | 103 DEF_BENCH(return new BlurBench(BIG, kNormal_SkBlurStyle, SkBlurMaskFilter::kHigh
Quality_BlurFlag);) |
104 | 104 |
105 DEF_BENCH(return new BlurBench(REALBIG, kNormal_SkBlurStyle, SkBlurMaskFilter::k
HighQuality_BlurFlag);) | 105 DEF_BENCH(return new BlurBench(REALBIG, kNormal_SkBlurStyle, SkBlurMaskFilter::k
HighQuality_BlurFlag);) |
106 | 106 |
107 DEF_BENCH(return new BlurBench(REAL, kNormal_SkBlurStyle, SkBlurMaskFilter::kHig
hQuality_BlurFlag);) | 107 DEF_BENCH(return new BlurBench(REAL, kNormal_SkBlurStyle, SkBlurMaskFilter::kHig
hQuality_BlurFlag);) |
108 | 108 |
109 DEF_BENCH(return new BlurBench(0, kNormal_SkBlurStyle);) | 109 DEF_BENCH(return new BlurBench(0, kNormal_SkBlurStyle);) |
OLD | NEW |