| 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 |