aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/RecordingBench.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-12-06 10:47:03 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-06 16:12:09 +0000
commite45ff46a6587ac0e481a62a85cc42b1a0865d856 (patch)
tree201feec7f0a7e464ce4e88b03711a7a507956baf /bench/RecordingBench.cpp
parent2a3985e98d50ddfbec4d3a8fe53cc513a3c2d329 (diff)
add benchType deserial to time deserializing pictures
Piece of the larger effort to merge readbuffer and validatingreadbuffer Bug: skia: Change-Id: I79305e27c4712c3b91d213d09d6c2ef24b86e671 Reviewed-on: https://skia-review.googlesource.com/81120 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'bench/RecordingBench.cpp')
-rw-r--r--bench/RecordingBench.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/bench/RecordingBench.cpp b/bench/RecordingBench.cpp
index c8142ee274..dc826553e7 100644
--- a/bench/RecordingBench.cpp
+++ b/bench/RecordingBench.cpp
@@ -85,3 +85,30 @@ void PipingBench::onDraw(int loops, SkCanvas*) {
stream.reset();
}
}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+#include "SkSerialProcs.h"
+
+DeserializePictureBench::DeserializePictureBench(const char* name, sk_sp<SkData> data)
+ : fName(name)
+ , fEncodedPicture(std::move(data))
+{}
+
+const char* DeserializePictureBench::onGetName() {
+ return fName.c_str();
+}
+
+bool DeserializePictureBench::isSuitableFor(Backend backend) {
+ return backend == kNonRendering_Backend;
+}
+
+SkIPoint DeserializePictureBench::onGetSize() {
+ return SkIPoint::Make(128, 128);
+}
+
+void DeserializePictureBench::onDraw(int loops, SkCanvas*) {
+ SkDeserialProcs procs;
+ for (int i = 0; i < loops; ++i) {
+ SkPicture::MakeFromData(fEncodedPicture, procs);
+ }
+}