OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2012 The Android Open Source Project | 3 * Copyright 2012 The Android Open Source Project |
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 | 8 |
9 #include "Benchmark.h" | 9 #include "Benchmark.h" |
10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
11 | 11 |
12 | 12 |
13 /** | 13 /** |
14 * This bench mark tests the use case where the user writes the a canvas | 14 * This bench mark tests the use case where the user writes the a canvas |
15 * and then reads small chunks from it repeatedly. This can cause trouble | 15 * and then reads small chunks from it repeatedly. This can cause trouble |
16 * for the GPU as readbacks are very expensive. | 16 * for the GPU as readbacks are very expensive. |
17 */ | 17 */ |
18 class ReadPixBench : public Benchmark { | 18 class ReadPixBench : public Benchmark { |
19 public: | 19 public: |
20 ReadPixBench() {} | 20 ReadPixBench() {} |
21 | 21 |
22 protected: | 22 protected: |
23 virtual const char* onGetName() SK_OVERRIDE { | 23 const char* onGetName() SK_OVERRIDE { |
24 return "readpix"; | 24 return "readpix"; |
25 } | 25 } |
26 | 26 |
27 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { | 27 void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { |
28 canvas->clear(SK_ColorBLACK); | 28 canvas->clear(SK_ColorBLACK); |
29 | 29 |
30 SkISize size = canvas->getDeviceSize(); | 30 SkISize size = canvas->getDeviceSize(); |
31 | 31 |
32 int offX = (size.width() - kWindowSize) / kNumStepsX; | 32 int offX = (size.width() - kWindowSize) / kNumStepsX; |
33 int offY = (size.height() - kWindowSize) / kNumStepsY; | 33 int offY = (size.height() - kWindowSize) / kNumStepsY; |
34 | 34 |
35 SkPaint paint; | 35 SkPaint paint; |
36 | 36 |
37 paint.setColor(SK_ColorBLUE); | 37 paint.setColor(SK_ColorBLUE); |
(...skipping 20 matching lines...) Expand all Loading... |
58 static const int kNumStepsX = 30; | 58 static const int kNumStepsX = 30; |
59 static const int kNumStepsY = 30; | 59 static const int kNumStepsY = 30; |
60 static const int kWindowSize = 5; | 60 static const int kWindowSize = 5; |
61 | 61 |
62 typedef Benchmark INHERITED; | 62 typedef Benchmark INHERITED; |
63 }; | 63 }; |
64 | 64 |
65 //////////////////////////////////////////////////////////////////////////////// | 65 //////////////////////////////////////////////////////////////////////////////// |
66 | 66 |
67 DEF_BENCH( return new ReadPixBench(); ) | 67 DEF_BENCH( return new ReadPixBench(); ) |
OLD | NEW |