diff options
author | 2015-06-09 13:56:10 -0700 | |
---|---|---|
committer | 2015-06-09 13:56:10 -0700 | |
commit | b23e6aa6767816ac4bc6c191e78ef62d6e765671 (patch) | |
tree | eca20bbc78e59cf624be66d5fb3f5a71aefc5c12 /bench/subset/SubsetSingleBench.h | |
parent | c15d9579d654f14cb16a3ced7158cd93950d48c8 (diff) |
Subset decoding benchmarks
It was my goal to create benchmarks that could measure all
of the use cases that we have identified. I think single
subsets, translating, and scaling are the important ones.
It might be a good idea to discuss the document in greater
detail as well. I just wanted to share this to aid the
discussion.
https://docs.google.com/a/google.com/document/d/1OxW96GDMAlw6dnzNXmiNX-F9oDBBlGXzSsgd0DMIkbI/edit?usp=sharing
BUG=skia:
Review URL: https://codereview.chromium.org/1160953002
Diffstat (limited to 'bench/subset/SubsetSingleBench.h')
-rw-r--r-- | bench/subset/SubsetSingleBench.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/bench/subset/SubsetSingleBench.h b/bench/subset/SubsetSingleBench.h new file mode 100644 index 0000000000..1484a51258 --- /dev/null +++ b/bench/subset/SubsetSingleBench.h @@ -0,0 +1,46 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "Benchmark.h" +#include "SkImageDecoder.h" +#include "SkImageInfo.h" +#include "SkStream.h" +#include "SkString.h" + +/* + * + * This benchmark is designed to test the performance of subset decoding. + * It uses an input width, height, left, and top to decode a single subset. + * + */ +class SubsetSingleBench : public Benchmark { +public: + + SubsetSingleBench(const SkString& path, + SkColorType colorType, + uint32_t subsetWidth, + uint32_t subsetHeight, + uint32_t offsetLeft, + uint32_t offsetTop, + bool useCodec); + +protected: + const char* onGetName() override; + bool isSuitableFor(Backend backend) override; + void onDraw(const int n, SkCanvas* canvas) override; + +private: + SkString fName; + SkColorType fColorType; + const uint32_t fSubsetWidth; + const uint32_t fSubsetHeight; + const uint32_t fOffsetLeft; + const uint32_t fOffsetTop; + const bool fUseCodec; + SkAutoTDelete<SkMemoryStream> fStream; + typedef Benchmark INHERITED; +}; |