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 |