Chromium Code Reviews| Index: bench/BitmapRegionDecoderBench.h |
| diff --git a/bench/BitmapRegionDecoderBench.h b/bench/BitmapRegionDecoderBench.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1e32d994a85466e50594700935e18c442cff85ff |
| --- /dev/null |
| +++ b/bench/BitmapRegionDecoderBench.h |
| @@ -0,0 +1,49 @@ |
| +/* |
| + * Copyright 2015 Google Inc. |
| + * |
| + * Use of this source code is governed by a BSD-style license that can be |
| + * found in the LICENSE file. |
| + */ |
| + |
| +#ifndef BitmapRegionDecoderBench_DEFINED |
| +#define BitmapRegionDecoderBench_DEFINED |
| + |
| +#include "Benchmark.h" |
| +#include "SkBitmapRegionDecoderInterface.h" |
| +#include "SkData.h" |
| +#include "SkImageInfo.h" |
| +#include "SkRefCnt.h" |
| +#include "SkString.h" |
| + |
| +/** |
| + * Time SkBitmapRegionDecoder. |
| + * |
| + * The aim of this benchmark is not to duplicate the use cases that we test in the SubsetBenches. |
| + * Instead we assume that the SubsetBenches give us enough information to choose an appropriate |
| + * approach to subsetting. |
| + * |
| + * This benchmark combines subsetting with scaling, allowing us to test the speed of several |
| + * different approaches to scaling while subsetting. |
| + */ |
| +class BitmapRegionDecoderBench : public Benchmark { |
| +public: |
| + // Calls encoded->ref() |
| + BitmapRegionDecoderBench(SkString basename, SkData* encoded, |
|
scroggo
2015/09/17 20:05:38
Probably want to use a const ref for basename. (Al
msarett
2015/09/18 13:22:30
I like const char*, since that is what we're using
|
| + SkBitmapRegionDecoderInterface::Strategy strategy, SkColorType colorType, |
| + uint32_t sampleSize, const SkIRect& subset); |
| + |
| +protected: |
| + const char* onGetName() override; |
| + bool isSuitableFor(Backend backend) override; |
| + void onDraw(const int n, SkCanvas* canvas) override; |
| + |
| +private: |
| + SkString fName; |
| + SkAutoTUnref<SkData> fData; |
| + const SkBitmapRegionDecoderInterface::Strategy fStrategy; |
| + const SkColorType fColorType; |
| + const uint32_t fSampleSize; |
| + const SkIRect fSubset; |
| + typedef Benchmark INHERITED; |
| +}; |
| +#endif // BitmapRegionDecoderBench_DEFINED |