| 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 "Benchmark.h" | 8 #include "Benchmark.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkCommandLineFlags.h" | 10 #include "SkCommandLineFlags.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 paint.setStrokeWidth(gSizes[i]); | 163 paint.setStrokeWidth(gSizes[i]); |
| 164 this->setupPaint(&paint); | 164 this->setupPaint(&paint); |
| 165 canvas->drawPoints(fMode, N * 2, SkTCast<SkPoint*>(fRects), pain
t); | 165 canvas->drawPoints(fMode, N * 2, SkTCast<SkPoint*>(fRects), pain
t); |
| 166 paint.setColor(fColors[i % N]); | 166 paint.setColor(fColors[i % N]); |
| 167 } | 167 } |
| 168 } | 168 } |
| 169 } | 169 } |
| 170 virtual const char* onGetName() { return fName; } | 170 virtual const char* onGetName() { return fName; } |
| 171 }; | 171 }; |
| 172 | 172 |
| 173 class AARectBench : public Benchmark { | |
| 174 public: | |
| 175 enum { | |
| 176 W = 640, | |
| 177 H = 480, | |
| 178 }; | |
| 179 | |
| 180 AARectBench(bool rotate) : fRotate(rotate) {} | |
| 181 | |
| 182 protected: | |
| 183 | |
| 184 virtual const char* onGetName() { | |
| 185 if (fRotate) { | |
| 186 return "aarects_rotated"; | |
| 187 } | |
| 188 return "aarects"; | |
| 189 } | |
| 190 | |
| 191 virtual void onDraw(const int loops, SkCanvas* canvas) { | |
| 192 static const SkScalar kHalfRectSize = 0.75f; | |
| 193 | |
| 194 SkPaint paint; | |
| 195 this->setupPaint(&paint); | |
| 196 paint.setAntiAlias(true); | |
| 197 paint.setColor(SK_ColorBLACK); | |
| 198 SkRect r = { -kHalfRectSize, -kHalfRectSize, kHalfRectSize, kHalfRectSiz
e }; | |
| 199 int rot = 0; | |
| 200 | |
| 201 for (int i = 0; i < loops; i++) { | |
| 202 // Draw small aa rects in a grid across the screen | |
| 203 for (SkScalar y = kHalfRectSize+SK_Scalar1; y < H; y += 2*kHalfRectS
ize+2) { | |
| 204 for (SkScalar x = kHalfRectSize+SK_Scalar1; x < W; x += 2*kHalfR
ectSize+2) { | |
| 205 canvas->save(); | |
| 206 canvas->translate(x, y); | |
| 207 | |
| 208 if (fRotate) { | |
| 209 SkMatrix rotate; | |
| 210 rotate.setRotate(SkIntToScalar(rot)); | |
| 211 canvas->concat(rotate); | |
| 212 rot += 10; | |
| 213 } | |
| 214 | |
| 215 canvas->drawRect(r, paint); | |
| 216 canvas->restore(); | |
| 217 } | |
| 218 } | |
| 219 } | |
| 220 | |
| 221 } | |
| 222 private: | |
| 223 bool fRotate; | |
| 224 typedef Benchmark INHERITED; | |
| 225 }; | |
| 226 | |
| 227 /******************************************************************************* | 173 /******************************************************************************* |
| 228 * to bench BlitMask [Opaque, Black, color, shader] | 174 * to bench BlitMask [Opaque, Black, color, shader] |
| 229 *******************************************************************************
/ | 175 *******************************************************************************
/ |
| 230 | 176 |
| 231 class BlitMaskBench : public RectBench { | 177 class BlitMaskBench : public RectBench { |
| 232 public: | 178 public: |
| 233 enum kMaskType { | 179 enum kMaskType { |
| 234 kMaskOpaque = 0, | 180 kMaskOpaque = 0, |
| 235 kMaskBlack, | 181 kMaskBlack, |
| 236 kMaskColor, | 182 kMaskColor, |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 DEF_BENCH( return SkNEW_ARGS(RRectBench, (1)); ) | 261 DEF_BENCH( return SkNEW_ARGS(RRectBench, (1)); ) |
| 316 DEF_BENCH( return SkNEW_ARGS(RRectBench, (1, 4)); ) | 262 DEF_BENCH( return SkNEW_ARGS(RRectBench, (1, 4)); ) |
| 317 DEF_BENCH( return SkNEW_ARGS(RRectBench, (3)); ) | 263 DEF_BENCH( return SkNEW_ARGS(RRectBench, (3)); ) |
| 318 DEF_BENCH( return SkNEW_ARGS(RRectBench, (3, 4)); ) | 264 DEF_BENCH( return SkNEW_ARGS(RRectBench, (3, 4)); ) |
| 319 DEF_BENCH( return SkNEW_ARGS(PointsBench, (SkCanvas::kPoints_PointMode, "points"
)); ) | 265 DEF_BENCH( return SkNEW_ARGS(PointsBench, (SkCanvas::kPoints_PointMode, "points"
)); ) |
| 320 DEF_BENCH( return SkNEW_ARGS(PointsBench, (SkCanvas::kLines_PointMode, "lines"))
; ) | 266 DEF_BENCH( return SkNEW_ARGS(PointsBench, (SkCanvas::kLines_PointMode, "lines"))
; ) |
| 321 DEF_BENCH( return SkNEW_ARGS(PointsBench, (SkCanvas::kPolygon_PointMode, "polygo
n")); ) | 267 DEF_BENCH( return SkNEW_ARGS(PointsBench, (SkCanvas::kPolygon_PointMode, "polygo
n")); ) |
| 322 | 268 |
| 323 DEF_BENCH( return SkNEW_ARGS(SrcModeRectBench, ()); ) | 269 DEF_BENCH( return SkNEW_ARGS(SrcModeRectBench, ()); ) |
| 324 | 270 |
| 325 DEF_BENCH( return SkNEW_ARGS(AARectBench, (false)); ) | |
| 326 DEF_BENCH( return SkNEW_ARGS(AARectBench, (true)); ) | |
| 327 | |
| 328 /* init the blitmask bench | 271 /* init the blitmask bench |
| 329 */ | 272 */ |
| 330 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, | 273 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, |
| 331 (SkCanvas::kPoints_PointMode, | 274 (SkCanvas::kPoints_PointMode, |
| 332 BlitMaskBench::kMaskOpaque, "maskopaque") | 275 BlitMaskBench::kMaskOpaque, "maskopaque") |
| 333 ); ) | 276 ); ) |
| 334 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, | 277 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, |
| 335 (SkCanvas::kPoints_PointMode, | 278 (SkCanvas::kPoints_PointMode, |
| 336 BlitMaskBench::kMaskBlack, "maskblack") | 279 BlitMaskBench::kMaskBlack, "maskblack") |
| 337 ); ) | 280 ); ) |
| 338 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, | 281 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, |
| 339 (SkCanvas::kPoints_PointMode, | 282 (SkCanvas::kPoints_PointMode, |
| 340 BlitMaskBench::kMaskColor, "maskcolor") | 283 BlitMaskBench::kMaskColor, "maskcolor") |
| 341 ); ) | 284 ); ) |
| 342 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, | 285 DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, |
| 343 (SkCanvas::kPoints_PointMode, | 286 (SkCanvas::kPoints_PointMode, |
| 344 BlitMaskBench::KMaskShader, "maskshader") | 287 BlitMaskBench::KMaskShader, "maskshader") |
| 345 ); ) | 288 ); ) |
| OLD | NEW |