Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(311)

Side by Side Diff: bench/ColorFilterBench.cpp

Issue 23478013: Major bench refactoring. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: merge with head agani Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « bench/CmapBench.cpp ('k') | bench/DashBench.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "SkBenchmark.h" 7 #include "SkBenchmark.h"
8 #include "SkCanvas.h" 8 #include "SkCanvas.h"
9 #include "SkColorFilterImageFilter.h" 9 #include "SkColorFilterImageFilter.h"
10 #include "SkColorMatrixFilter.h" 10 #include "SkColorMatrixFilter.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 69
70 protected: 70 protected:
71 virtual const char* onGetName() SK_OVERRIDE { 71 virtual const char* onGetName() SK_OVERRIDE {
72 return isSmall() ? "colorfilter_dim_bright_small" : "colorfilter_dim_bri ght_large"; 72 return isSmall() ? "colorfilter_dim_bright_small" : "colorfilter_dim_bri ght_large";
73 } 73 }
74 74
75 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 75 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
76 SkRect r = getFilterRect(); 76 SkRect r = getFilterRect();
77 SkPaint paint; 77 SkPaint paint;
78 paint.setColor(SK_ColorRED); 78 paint.setColor(SK_ColorRED);
79 for (float brightness = -1.0f; brightness <= 1.0f; brightness += 0.4f) { 79
80 SkAutoTUnref<SkImageFilter> dim(make_brightness(-brightness)); 80 for (int i = 0; i < this->getLoops(); i++) {
81 SkAutoTUnref<SkImageFilter> bright(make_brightness(brightness, dim)) ; 81 for (float brightness = -1.0f; brightness <= 1.0f; brightness += 0.4 f) {
82 paint.setImageFilter(bright); 82 SkAutoTUnref<SkImageFilter> dim(make_brightness(-brightness));
83 canvas->drawRect(r, paint); 83 SkAutoTUnref<SkImageFilter> bright(make_brightness(brightness, d im));
84 paint.setImageFilter(bright);
85 canvas->drawRect(r, paint);
86 }
84 } 87 }
85 } 88 }
86 89
87 private: 90 private:
88 typedef ColorFilterBaseBench INHERITED; 91 typedef ColorFilterBaseBench INHERITED;
89 }; 92 };
90 93
91 class ColorFilterBrightGrayBench : public ColorFilterBaseBench { 94 class ColorFilterBrightGrayBench : public ColorFilterBaseBench {
92 95
93 public: 96 public:
94 ColorFilterBrightGrayBench(void* param, bool small) : INHERITED(param, small ) { 97 ColorFilterBrightGrayBench(void* param, bool small) : INHERITED(param, small ) {
95 } 98 }
96 99
97 protected: 100 protected:
98 virtual const char* onGetName() SK_OVERRIDE { 101 virtual const char* onGetName() SK_OVERRIDE {
99 return isSmall() ? "colorfilter_bright_gray_small" : "colorfilter_bright _gray_large"; 102 return isSmall() ? "colorfilter_bright_gray_small" : "colorfilter_bright _gray_large";
100 } 103 }
101 104
102 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 105 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
103 SkRect r = getFilterRect(); 106 SkRect r = getFilterRect();
104 SkPaint paint; 107 SkPaint paint;
105 paint.setColor(SK_ColorRED); 108 paint.setColor(SK_ColorRED);
106 { 109 for (int i = 0; i < this->getLoops(); i++) {
107 SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.9f)); 110 SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.9f));
108 SkAutoTUnref<SkImageFilter> grayscale(make_grayscale(brightness)); 111 SkAutoTUnref<SkImageFilter> grayscale(make_grayscale(brightness));
109 paint.setImageFilter(grayscale); 112 paint.setImageFilter(grayscale);
110 canvas->drawRect(r, paint); 113 canvas->drawRect(r, paint);
111 } 114 }
112 } 115 }
113 116
114 private: 117 private:
115 typedef ColorFilterBaseBench INHERITED; 118 typedef ColorFilterBaseBench INHERITED;
116 }; 119 };
117 120
118 class ColorFilterGrayBrightBench : public ColorFilterBaseBench { 121 class ColorFilterGrayBrightBench : public ColorFilterBaseBench {
119 122
120 public: 123 public:
121 ColorFilterGrayBrightBench(void* param, bool small) : INHERITED(param, small ) { 124 ColorFilterGrayBrightBench(void* param, bool small) : INHERITED(param, small ) {
122 } 125 }
123 126
124 protected: 127 protected:
125 virtual const char* onGetName() SK_OVERRIDE { 128 virtual const char* onGetName() SK_OVERRIDE {
126 return isSmall() ? "colorfilter_gray_bright_small" : "colorfilter_gray_b right_large"; 129 return isSmall() ? "colorfilter_gray_bright_small" : "colorfilter_gray_b right_large";
127 } 130 }
128 131
129 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 132 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
130 SkRect r = getFilterRect(); 133 SkRect r = getFilterRect();
131 SkPaint paint; 134 SkPaint paint;
132 paint.setColor(SK_ColorRED); 135 paint.setColor(SK_ColorRED);
133 { 136 for (int i = 0; i < this->getLoops(); i++) {
134 SkAutoTUnref<SkImageFilter> grayscale(make_grayscale()); 137 SkAutoTUnref<SkImageFilter> grayscale(make_grayscale());
135 SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.9f, graysca le)); 138 SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.9f, graysca le));
136 paint.setImageFilter(brightness); 139 paint.setImageFilter(brightness);
137 canvas->drawRect(r, paint); 140 canvas->drawRect(r, paint);
138 } 141 }
139 } 142 }
140 143
141 private: 144 private:
142 typedef ColorFilterBaseBench INHERITED; 145 typedef ColorFilterBaseBench INHERITED;
143 }; 146 };
144 147
145 class ColorFilterBlueBrightBench : public ColorFilterBaseBench { 148 class ColorFilterBlueBrightBench : public ColorFilterBaseBench {
146 149
147 public: 150 public:
148 ColorFilterBlueBrightBench(void* param, bool small) : INHERITED(param, small ) { 151 ColorFilterBlueBrightBench(void* param, bool small) : INHERITED(param, small ) {
149 } 152 }
150 153
151 protected: 154 protected:
152 virtual const char* onGetName() SK_OVERRIDE { 155 virtual const char* onGetName() SK_OVERRIDE {
153 return isSmall() ? "colorfilter_blue_bright_small" : "colorfilter_blue_b right_large"; 156 return isSmall() ? "colorfilter_blue_bright_small" : "colorfilter_blue_b right_large";
154 } 157 }
155 158
156 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 159 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
157 SkRect r = getFilterRect(); 160 SkRect r = getFilterRect();
158 SkPaint paint; 161 SkPaint paint;
159 paint.setColor(SK_ColorRED); 162 paint.setColor(SK_ColorRED);
160 { 163 for (int i = 0; i < this->getLoops(); i++) {
161 SkAutoTUnref<SkImageFilter> blue(make_mode_blue()); 164 SkAutoTUnref<SkImageFilter> blue(make_mode_blue());
162 SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f, blue)); 165 SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f, blue));
163 paint.setImageFilter(brightness); 166 paint.setImageFilter(brightness);
164 canvas->drawRect(r, paint); 167 canvas->drawRect(r, paint);
165 } 168 }
166 } 169 }
167 170
168 private: 171 private:
169 typedef ColorFilterBaseBench INHERITED; 172 typedef ColorFilterBaseBench INHERITED;
170 }; 173 };
171 174
172 class ColorFilterBrightBlueBench : public ColorFilterBaseBench { 175 class ColorFilterBrightBlueBench : public ColorFilterBaseBench {
173 176
174 public: 177 public:
175 ColorFilterBrightBlueBench(void* param, bool small) : INHERITED(param, small ) { 178 ColorFilterBrightBlueBench(void* param, bool small) : INHERITED(param, small ) {
176 } 179 }
177 180
178 protected: 181 protected:
179 virtual const char* onGetName() SK_OVERRIDE { 182 virtual const char* onGetName() SK_OVERRIDE {
180 return isSmall() ? "colorfilter_bright_blue_small" : "colorfilter_bright _blue_large"; 183 return isSmall() ? "colorfilter_bright_blue_small" : "colorfilter_bright _blue_large";
181 } 184 }
182 185
183 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 186 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
184 SkRect r = getFilterRect(); 187 SkRect r = getFilterRect();
185 SkPaint paint; 188 SkPaint paint;
186 paint.setColor(SK_ColorRED); 189 paint.setColor(SK_ColorRED);
187 { 190 for (int i = 0; i < this->getLoops(); i++) {
188 SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f)); 191 SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f));
189 SkAutoTUnref<SkImageFilter> blue(make_mode_blue(brightness)); 192 SkAutoTUnref<SkImageFilter> blue(make_mode_blue(brightness));
190 paint.setImageFilter(blue); 193 paint.setImageFilter(blue);
191 canvas->drawRect(r, paint); 194 canvas->drawRect(r, paint);
192 } 195 }
193 } 196 }
194 197
195 private: 198 private:
196 typedef ColorFilterBaseBench INHERITED; 199 typedef ColorFilterBaseBench INHERITED;
197 }; 200 };
198 201
199 class ColorFilterBrightBench : public ColorFilterBaseBench { 202 class ColorFilterBrightBench : public ColorFilterBaseBench {
200 203
201 public: 204 public:
202 ColorFilterBrightBench(void* param, bool small) : INHERITED(param, small) { 205 ColorFilterBrightBench(void* param, bool small) : INHERITED(param, small) {
203 } 206 }
204 207
205 protected: 208 protected:
206 virtual const char* onGetName() SK_OVERRIDE { 209 virtual const char* onGetName() SK_OVERRIDE {
207 return isSmall() ? "colorfilter_bright_small" : "colorfilter_bright_larg e"; 210 return isSmall() ? "colorfilter_bright_small" : "colorfilter_bright_larg e";
208 } 211 }
209 212
210 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 213 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
211 SkRect r = getFilterRect(); 214 SkRect r = getFilterRect();
212 SkPaint paint; 215 SkPaint paint;
213 paint.setColor(SK_ColorRED); 216 paint.setColor(SK_ColorRED);
214 { 217 for (int i = 0; i < this->getLoops(); i++) {
215 SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f)); 218 SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f));
216 paint.setImageFilter(brightness); 219 paint.setImageFilter(brightness);
217 canvas->drawRect(r, paint); 220 canvas->drawRect(r, paint);
218 } 221 }
219 } 222 }
220 223
221 private: 224 private:
222 typedef ColorFilterBaseBench INHERITED; 225 typedef ColorFilterBaseBench INHERITED;
223 }; 226 };
224 227
225 class ColorFilterBlueBench : public ColorFilterBaseBench { 228 class ColorFilterBlueBench : public ColorFilterBaseBench {
226 229
227 public: 230 public:
228 ColorFilterBlueBench(void* param, bool small) : INHERITED(param, small) { 231 ColorFilterBlueBench(void* param, bool small) : INHERITED(param, small) {
229 } 232 }
230 233
231 protected: 234 protected:
232 virtual const char* onGetName() SK_OVERRIDE { 235 virtual const char* onGetName() SK_OVERRIDE {
233 return isSmall() ? "colorfilter_blue_small" : "colorfilter_blue_large"; 236 return isSmall() ? "colorfilter_blue_small" : "colorfilter_blue_large";
234 } 237 }
235 238
236 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 239 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
237 SkRect r = getFilterRect(); 240 SkRect r = getFilterRect();
238 SkPaint paint; 241 SkPaint paint;
239 paint.setColor(SK_ColorRED); 242 paint.setColor(SK_ColorRED);
240 { 243 for (int i = 0; i < this->getLoops(); i++) {
241 SkAutoTUnref<SkImageFilter> blue(make_mode_blue()); 244 SkAutoTUnref<SkImageFilter> blue(make_mode_blue());
242 paint.setImageFilter(blue); 245 paint.setImageFilter(blue);
243 canvas->drawRect(r, paint); 246 canvas->drawRect(r, paint);
244 } 247 }
245 } 248 }
246 249
247 private: 250 private:
248 typedef ColorFilterBaseBench INHERITED; 251 typedef ColorFilterBaseBench INHERITED;
249 }; 252 };
250 253
251 class ColorFilterGrayBench : public ColorFilterBaseBench { 254 class ColorFilterGrayBench : public ColorFilterBaseBench {
252 255
253 public: 256 public:
254 ColorFilterGrayBench(void* param, bool small) : INHERITED(param, small) { 257 ColorFilterGrayBench(void* param, bool small) : INHERITED(param, small) {
255 } 258 }
256 259
257 protected: 260 protected:
258 virtual const char* onGetName() SK_OVERRIDE { 261 virtual const char* onGetName() SK_OVERRIDE {
259 return isSmall() ? "colorfilter_gray_small" : "colorfilter_gray_large"; 262 return isSmall() ? "colorfilter_gray_small" : "colorfilter_gray_large";
260 } 263 }
261 264
262 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 265 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
263 SkRect r = getFilterRect(); 266 SkRect r = getFilterRect();
264 SkPaint paint; 267 SkPaint paint;
265 paint.setColor(SK_ColorRED); 268 paint.setColor(SK_ColorRED);
266 { 269 for (int i = 0; i < this->getLoops(); i++) {
267 SkAutoTUnref<SkImageFilter> grayscale(make_grayscale()); 270 SkAutoTUnref<SkImageFilter> grayscale(make_grayscale());
268 paint.setImageFilter(grayscale); 271 paint.setImageFilter(grayscale);
269 canvas->drawRect(r, paint); 272 canvas->drawRect(r, paint);
270 } 273 }
271 } 274 }
272 275
273 private: 276 private:
274 typedef ColorFilterBaseBench INHERITED; 277 typedef ColorFilterBaseBench INHERITED;
275 }; 278 };
276 279
277 class TableColorFilterBench : public ColorFilterBaseBench { 280 class TableColorFilterBench : public ColorFilterBaseBench {
278 281
279 public: 282 public:
280 TableColorFilterBench(void* param, bool small) : INHERITED(param, small) { 283 TableColorFilterBench(void* param, bool small) : INHERITED(param, small) {
281 } 284 }
282 285
283 protected: 286 protected:
284 virtual const char* onGetName() SK_OVERRIDE { 287 virtual const char* onGetName() SK_OVERRIDE {
285 return isSmall() ? "table_colorfilter_small" : "table_colorfilter_large" ; 288 return isSmall() ? "table_colorfilter_small" : "table_colorfilter_large" ;
286 } 289 }
287 290
288 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 291 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
289 SkRect r = getFilterRect(); 292 SkRect r = getFilterRect();
290 SkPaint paint; 293 SkPaint paint;
291 paint.setColor(SK_ColorRED); 294 paint.setColor(SK_ColorRED);
292 { 295 for (int i = 0; i < this->getLoops(); i++) {
293 SkAutoTUnref<SkColorFilter> table_filter(make_table_filter()); 296 SkAutoTUnref<SkColorFilter> table_filter(make_table_filter());
294 paint.setColorFilter(table_filter); 297 paint.setColorFilter(table_filter);
295 canvas->drawRect(r, paint); 298 canvas->drawRect(r, paint);
296 } 299 }
297 } 300 }
298 301
299 private: 302 private:
300 static void fill_table_data(uint8_t table[]) { 303 static void fill_table_data(uint8_t table[]) {
301 for (int i = 0; i < 256; ++i) { 304 for (int i = 0; i < 256; ++i) {
302 int n = i >> 5; 305 int n = i >> 5;
(...skipping 23 matching lines...) Expand all
326 329
327 DEF_BENCH( return new ColorFilterDimBrightBench(p, false); ) 330 DEF_BENCH( return new ColorFilterDimBrightBench(p, false); )
328 DEF_BENCH( return new ColorFilterBrightGrayBench(p, false); ) 331 DEF_BENCH( return new ColorFilterBrightGrayBench(p, false); )
329 DEF_BENCH( return new ColorFilterGrayBrightBench(p, false); ) 332 DEF_BENCH( return new ColorFilterGrayBrightBench(p, false); )
330 DEF_BENCH( return new ColorFilterBlueBrightBench(p, false); ) 333 DEF_BENCH( return new ColorFilterBlueBrightBench(p, false); )
331 DEF_BENCH( return new ColorFilterBrightBlueBench(p, false); ) 334 DEF_BENCH( return new ColorFilterBrightBlueBench(p, false); )
332 DEF_BENCH( return new ColorFilterBrightBench(p, false); ) 335 DEF_BENCH( return new ColorFilterBrightBench(p, false); )
333 DEF_BENCH( return new ColorFilterBlueBench(p, false); ) 336 DEF_BENCH( return new ColorFilterBlueBench(p, false); )
334 DEF_BENCH( return new ColorFilterGrayBench(p, false); ) 337 DEF_BENCH( return new ColorFilterGrayBench(p, false); )
335 DEF_BENCH( return new TableColorFilterBench(p, false); ) 338 DEF_BENCH( return new TableColorFilterBench(p, false); )
OLDNEW
« no previous file with comments | « bench/CmapBench.cpp ('k') | bench/DashBench.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698