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

Side by Side Diff: bench/HardStopGradientBench_ScaleNumColors.cpp

Issue 2178913003: Add HardStopGradientBench_ScaleNumHardStops.cpp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 5 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
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 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 "Benchmark.h" 8 #include "Benchmark.h"
9 9
10 #include "SkCanvas.h" 10 #include "SkCanvas.h"
(...skipping 10 matching lines...) Expand all
21 case SkShader::kRepeat_TileMode: 21 case SkShader::kRepeat_TileMode:
22 return "repeat"; 22 return "repeat";
23 case SkShader::kMirror_TileMode: 23 case SkShader::kMirror_TileMode:
24 return "mirror"; 24 return "mirror";
25 default: 25 default:
26 SkDEBUGFAIL("Unknown tilemode"); 26 SkDEBUGFAIL("Unknown tilemode");
27 return "error"; 27 return "error";
28 } 28 }
29 } 29 }
30 30
31 class HardStopGradientBench : public Benchmark { 31 class HardStopGradientBench_ScaleNumColors : public Benchmark {
32 public: 32 public:
33 HardStopGradientBench(SkShader::TileMode tilemode, int count) { 33 HardStopGradientBench_ScaleNumColors(SkShader::TileMode tilemode, int count) {
34 fName.printf("hardstop_%s_%03d_colors", get_tilemode_name(tilemode), cou nt); 34 fName.printf("hardstop_scale_num_colors_%s_%03d_colors", get_tilemode_na me(tilemode), count);
35 35
36 fTileMode = tilemode; 36 fTileMode = tilemode;
37 fColorCount = count; 37 fColorCount = count;
38 } 38 }
39 39
40 const char* onGetName() override { 40 const char* onGetName() override {
41 return fName.c_str(); 41 return fName.c_str();
42 } 42 }
43 43
44 SkIPoint onGetSize() override { 44 SkIPoint onGetSize() override {
45 return SkIPoint::Make(kSize, kSize); 45 return SkIPoint::Make(kSize, kSize);
46 } 46 }
47 47
48 /*
49 * Set up a linear gradient from left to right with
50 * fColorCount "evenly spaced" colors. The positions
51 * are also evenly spaced, with the exception of the
52 * first two, which create a hard stop in order to
53 * trigger the hard stop code.
tomhudson 2016/07/26 13:25:14 Nit: runon sentence?
54 */
48 void onPreDraw(SkCanvas* canvas) override { 55 void onPreDraw(SkCanvas* canvas) override {
49 // Left to right 56 // Left to right
50 SkPoint points[2] = { 57 SkPoint points[2] = {
51 SkPoint::Make(0, kSize/2), 58 SkPoint::Make(0, kSize/2),
52 SkPoint::Make(kSize-1, kSize/2), 59 SkPoint::Make(kSize-1, kSize/2),
53 }; 60 };
54 61
55 // "Evenly spaced" colors 62 // "Evenly spaced" colors
56 SkColor colors[100]; 63 SkColor colors[100];
57 for (int i = 0; i < fColorCount; i++) { 64 for (int i = 0; i < fColorCount; i++) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 97
91 SkShader::TileMode fTileMode; 98 SkShader::TileMode fTileMode;
92 SkString fName; 99 SkString fName;
93 int fColorCount; 100 int fColorCount;
94 SkPaint fPaint; 101 SkPaint fPaint;
95 102
96 typedef Benchmark INHERITED; 103 typedef Benchmark INHERITED;
97 }; 104 };
98 105
99 // Clamp 106 // Clamp
100 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 3);) 107 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 3);)
101 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 4);) 108 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 4);)
102 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 5);) 109 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 5);)
103 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 10);) 110 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 10);)
104 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 25);) 111 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 25);)
105 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 50);) 112 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 50);)
106 DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 100);) 113 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kClamp_TileM ode, 100);)
107 114
108 // Repeat 115 // Repeat
109 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 3);) 116 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 3);)
110 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 4);) 117 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 4);)
111 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 5);) 118 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 5);)
112 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 10);) 119 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 10);)
113 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 25);) 120 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 25);)
114 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 50);) 121 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 50);)
115 DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 100);) 122 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kRepeat_Tile Mode, 100);)
116 123
117 // Mirror 124 // Mirror
118 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 3);) 125 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 3);)
119 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 4);) 126 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 4);)
120 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 5);) 127 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 5);)
121 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 10);) 128 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 10);)
122 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 25);) 129 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 25);)
123 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 50);) 130 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 50);)
124 DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 100);) 131 DEF_BENCH(return new HardStopGradientBench_ScaleNumColors(SkShader::kMirror_Tile Mode, 100);)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698