Chromium Code Reviews| Index: bench/BitmapRegionDecoderBench.h |
| diff --git a/bench/BitmapRegionDecoderBench.h b/bench/BitmapRegionDecoderBench.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..04bc37a5b737f69e7c7487f60876dd60f5266336 |
| --- /dev/null |
| +++ b/bench/BitmapRegionDecoderBench.h |
| @@ -0,0 +1,51 @@ |
| +/* |
| + * 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. |
|
scroggo
2015/09/18 15:07:23
I think these comments could be improved. This one
msarett
2015/09/18 17:41:17
You are right these comments are bad and actually
|
| + * |
| + * 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 { |
|
scroggo
2015/09/18 15:07:23
If the primary goal here is to time approaches to
msarett
2015/09/18 17:41:17
I'd prefer to stick with the name and improve the
|
| +public: |
| + // Calls encoded->ref() |
| + BitmapRegionDecoderBench(const char* basename, SkData* encoded, |
| + 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; |
| + void onPreDraw() override; |
| + |
| +private: |
| + SkString fName; |
| + SkAutoTDelete<SkBitmapRegionDecoderInterface> fBRD; |
| + SkAutoTUnref<SkData> fData; |
| + const SkBitmapRegionDecoderInterface::Strategy fStrategy; |
| + const SkColorType fColorType; |
| + const uint32_t fSampleSize; |
| + const SkIRect fSubset; |
| + typedef Benchmark INHERITED; |
| +}; |
| +#endif // BitmapRegionDecoderBench_DEFINED |