| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2015 Google Inc. | 2  * Copyright 2015 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 | 8 | 
| 9 #ifndef VisualLightweightBenchModule_DEFINED | 9 #ifndef VisualLightweightBenchModule_DEFINED | 
| 10 #define VisualLightweightBenchModule_DEFINED | 10 #define VisualLightweightBenchModule_DEFINED | 
| 11 | 11 | 
| 12 #include "VisualModule.h" | 12 #include "VisualStreamTimingModule.h" | 
| 13 | 13 | 
| 14 #include "ResultsWriter.h" | 14 #include "ResultsWriter.h" | 
| 15 #include "SkPicture.h" | 15 #include "SkPicture.h" | 
| 16 #include "TimingStateMachine.h" |  | 
| 17 #include "VisualBench.h" | 16 #include "VisualBench.h" | 
| 18 #include "VisualBenchmarkStream.h" |  | 
| 19 | 17 | 
| 20 class SkCanvas; | 18 class SkCanvas; | 
| 21 | 19 | 
| 22 /* | 20 /* | 
| 23  * This module is designed to be a minimal overhead timing module for VisualBenc
    h | 21  * This module is designed to be a minimal overhead timing module for VisualBenc
    h | 
| 24  */ | 22  */ | 
| 25 class VisualLightweightBenchModule : public VisualModule { | 23 class VisualLightweightBenchModule : public VisualStreamTimingModule { | 
| 26 public: | 24 public: | 
| 27     // TODO get rid of backpointer | 25     // TODO get rid of backpointer | 
| 28     VisualLightweightBenchModule(VisualBench* owner); | 26     VisualLightweightBenchModule(VisualBench* owner); | 
| 29 | 27 | 
| 30     void draw(SkCanvas* canvas) override; |  | 
| 31 |  | 
| 32     bool onHandleChar(SkUnichar c) override; | 28     bool onHandleChar(SkUnichar c) override; | 
| 33 | 29 | 
| 34 private: | 30 private: | 
| 35     void setTitle(); | 31     void renderFrame(SkCanvas*, Benchmark*, int loops) override; | 
| 36     bool setupBackend(); | 32     bool timingFinished(Benchmark*, int loops, double measurement) override; | 
| 37     void setupRenderTarget(); | 33     void printStats(Benchmark*, int loops); | 
| 38     void printStats(); |  | 
| 39     bool advanceRecordIfNecessary(SkCanvas*); |  | 
| 40     inline void renderFrame(SkCanvas*); |  | 
| 41 | 34 | 
| 42     struct Record { | 35     struct Record { | 
| 43         SkTArray<double> fMeasurements; | 36         SkTArray<double> fMeasurements; | 
| 44     }; | 37     }; | 
| 45     int fCurrentSample; | 38     int fCurrentSample; | 
| 46     SkTArray<Record> fRecords; | 39     SkTArray<Record> fRecords; | 
| 47     SkAutoTDelete<VisualBenchmarkStream> fBenchmarkStream; |  | 
| 48     SkAutoTUnref<Benchmark> fBenchmark; |  | 
| 49     TimingStateMachine fTSM; |  | 
| 50     bool fHasBeenReset; |  | 
| 51 | 40 | 
| 52     // support framework | 41     // support framework | 
| 53     SkAutoTUnref<VisualBench> fOwner; |  | 
| 54     SkAutoTDelete<ResultsWriter> fResults; | 42     SkAutoTDelete<ResultsWriter> fResults; | 
| 55 | 43 | 
| 56     typedef VisualModule INHERITED; | 44     typedef VisualStreamTimingModule INHERITED; | 
| 57 }; | 45 }; | 
| 58 | 46 | 
| 59 #endif | 47 #endif | 
| OLD | NEW | 
|---|