OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 | 7 |
8 #include "SkBenchmark.h" | 8 #include "SkBenchmark.h" |
9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
10 #include "SkPaint.h" | 10 #include "SkPaint.h" |
11 #include "SkRandom.h" | 11 #include "SkRandom.h" |
12 #include "SkShader.h" | 12 #include "SkShader.h" |
13 #include "SkString.h" | 13 #include "SkString.h" |
14 | 14 |
15 // This bench simulates the calls Skia sees from various HTML5 canvas | 15 // This bench simulates the calls Skia sees from various HTML5 canvas |
16 // game bench marks | 16 // game bench marks |
17 class GameBench : public SkBenchmark { | 17 class GameBench : public SkBenchmark { |
18 public: | 18 public: |
19 enum Type { | 19 enum Type { |
20 kScale_Type, | 20 kScale_Type, |
21 kTranslate_Type, | 21 kTranslate_Type, |
22 kRotate_Type | 22 kRotate_Type |
23 }; | 23 }; |
24 | 24 |
25 enum Clear { | 25 enum Clear { |
26 kFull_Clear, | 26 kFull_Clear, |
27 kPartial_Clear | 27 kPartial_Clear |
28 }; | 28 }; |
29 | 29 |
30 GameBench(void* param, Type type, Clear clear, | 30 GameBench(Type type, Clear clear, |
31 bool aligned = false, bool useAtlas = false, | 31 bool aligned = false, bool useAtlas = false, |
32 bool useDrawVertices = false) | 32 bool useDrawVertices = false) |
33 : INHERITED(param) | 33 : fType(type) |
34 , fType(type) | |
35 , fClear(clear) | 34 , fClear(clear) |
36 , fAligned(aligned) | 35 , fAligned(aligned) |
37 , fUseAtlas(useAtlas) | 36 , fUseAtlas(useAtlas) |
38 , fUseDrawVertices(useDrawVertices) | 37 , fUseDrawVertices(useDrawVertices) |
39 , fName("game") | 38 , fName("game") |
40 , fNumSaved(0) | 39 , fNumSaved(0) |
41 , fInitialized(false) { | 40 , fInitialized(false) { |
42 | 41 |
43 switch (fType) { | 42 switch (fType) { |
44 case kScale_Type: | 43 case kScale_Type: |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 *scanline = 0x00000000; | 305 *scanline = 0x00000000; |
307 } | 306 } |
308 } | 307 } |
309 } | 308 } |
310 } | 309 } |
311 | 310 |
312 typedef SkBenchmark INHERITED; | 311 typedef SkBenchmark INHERITED; |
313 }; | 312 }; |
314 | 313 |
315 // Partial clear | 314 // Partial clear |
316 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kScale_Type, | 315 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kScale_Type, |
317 GameBench::kPartial_Clear)); ) | 316 GameBench::kPartial_Clear)); ) |
318 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, | 317 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kTranslate_Type, |
319 GameBench::kPartial_Clear)); ) | 318 GameBench::kPartial_Clear)); ) |
320 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, | 319 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kTranslate_Type, |
321 GameBench::kPartial_Clear, true)); ) | 320 GameBench::kPartial_Clear, true)); ) |
322 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kRotate_Type, | 321 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kRotate_Type, |
323 GameBench::kPartial_Clear)); ) | 322 GameBench::kPartial_Clear)); ) |
324 | 323 |
325 // Full clear | 324 // Full clear |
326 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kScale_Type, | 325 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kScale_Type, |
327 GameBench::kFull_Clear)); ) | 326 GameBench::kFull_Clear)); ) |
328 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, | 327 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kTranslate_Type, |
329 GameBench::kFull_Clear)); ) | 328 GameBench::kFull_Clear)); ) |
330 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, | 329 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kTranslate_Type, |
331 GameBench::kFull_Clear, true)); ) | 330 GameBench::kFull_Clear, true)); ) |
332 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kRotate_Type, | 331 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kRotate_Type, |
333 GameBench::kFull_Clear)); ) | 332 GameBench::kFull_Clear)); ) |
334 | 333 |
335 // Atlased | 334 // Atlased |
336 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, | 335 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kTranslate_Type, |
337 GameBench::kFull_Clear, false, true)
); ) | 336 GameBench::kFull_Clear, false, true)
); ) |
338 DEF_BENCH( return SkNEW_ARGS(GameBench, (p, GameBench::kTranslate_Type, | 337 DEF_BENCH( return SkNEW_ARGS(GameBench, (GameBench::kTranslate_Type, |
339 GameBench::kFull_Clear, false, true,
true)); ) | 338 GameBench::kFull_Clear, false, true,
true)); ) |
OLD | NEW |