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 "SkMatrix.h" | 9 #include "SkMatrix.h" |
10 #include "SkMatrixUtils.h" | 10 #include "SkMatrixUtils.h" |
11 #include "SkRandom.h" | 11 #include "SkRandom.h" |
12 #include "SkString.h" | 12 #include "SkString.h" |
13 | 13 |
14 class MatrixBench : public SkBenchmark { | 14 class MatrixBench : public Benchmark { |
15 SkString fName; | 15 SkString fName; |
16 public: | 16 public: |
17 MatrixBench(const char name[]) { | 17 MatrixBench(const char name[]) { |
18 fName.printf("matrix_%s", name); | 18 fName.printf("matrix_%s", name); |
19 } | 19 } |
20 | 20 |
21 virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { | 21 virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { |
22 return backend == kNonRendering_Backend; | 22 return backend == kNonRendering_Backend; |
23 } | 23 } |
24 | 24 |
25 virtual void performTest() = 0; | 25 virtual void performTest() = 0; |
26 | 26 |
27 protected: | 27 protected: |
28 virtual int mulLoopCount() const { return 1; } | 28 virtual int mulLoopCount() const { return 1; } |
29 | 29 |
30 virtual const char* onGetName() { | 30 virtual const char* onGetName() { |
31 return fName.c_str(); | 31 return fName.c_str(); |
32 } | 32 } |
33 | 33 |
34 virtual void onDraw(const int loops, SkCanvas*) { | 34 virtual void onDraw(const int loops, SkCanvas*) { |
35 for (int i = 0; i < loops; i++) { | 35 for (int i = 0; i < loops; i++) { |
36 this->performTest(); | 36 this->performTest(); |
37 } | 37 } |
38 } | 38 } |
39 | 39 |
40 private: | 40 private: |
41 typedef SkBenchmark INHERITED; | 41 typedef Benchmark INHERITED; |
42 }; | 42 }; |
43 | 43 |
44 | 44 |
45 class EqualsMatrixBench : public MatrixBench { | 45 class EqualsMatrixBench : public MatrixBench { |
46 public: | 46 public: |
47 EqualsMatrixBench() : INHERITED("equals") {} | 47 EqualsMatrixBench() : INHERITED("equals") {} |
48 protected: | 48 protected: |
49 virtual void performTest() { | 49 virtual void performTest() { |
50 SkMatrix m0, m1, m2; | 50 SkMatrix m0, m1, m2; |
51 | 51 |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 | 463 |
464 DEF_BENCH( return new InvertMapRectMatrixBench( | 464 DEF_BENCH( return new InvertMapRectMatrixBench( |
465 "invert_maprect_typemask_nonpersp", | 465 "invert_maprect_typemask_nonpersp", |
466 InvertMapRectMatrixBench::kUncachedTypeMask_Flag | | 466 InvertMapRectMatrixBench::kUncachedTypeMask_Flag | |
467 InvertMapRectMatrixBench::kScale_Flag | | 467 InvertMapRectMatrixBench::kScale_Flag | |
468 InvertMapRectMatrixBench::kRotate_Flag | | 468 InvertMapRectMatrixBench::kRotate_Flag | |
469 InvertMapRectMatrixBench::kTranslate_Flag); ) | 469 InvertMapRectMatrixBench::kTranslate_Flag); ) |
470 | 470 |
471 DEF_BENCH( return new ScaleTransMixedMatrixBench(); ) | 471 DEF_BENCH( return new ScaleTransMixedMatrixBench(); ) |
472 DEF_BENCH( return new ScaleTransDoubleMatrixBench(); ) | 472 DEF_BENCH( return new ScaleTransDoubleMatrixBench(); ) |
OLD | NEW |