From 92007583e43115998412ac8b0a06cc2780eb025c Mon Sep 17 00:00:00 2001 From: mtklein Date: Fri, 1 Aug 2014 07:46:52 -0700 Subject: SKPs-as-benches in nanobench This is meant to replace bench_pictures. CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Release-iOS-Trybot BUG=skia: R=bsalomon@google.com, jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/425393004 --- bench/SKPBench.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 bench/SKPBench.cpp (limited to 'bench/SKPBench.cpp') diff --git a/bench/SKPBench.cpp b/bench/SKPBench.cpp new file mode 100644 index 0000000000..cd7d4b00e1 --- /dev/null +++ b/bench/SKPBench.cpp @@ -0,0 +1,37 @@ +/* + * Copyright 2014 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SKPBench.h" + +SKPBench::SKPBench(const char* name, const SkPicture* pic, const SkIRect& clip, SkScalar scale) + : fPic(SkRef(pic)) + , fClip(clip) + , fScale(scale) { + fName.printf("%s_%.2g", name, scale); +} + +const char* SKPBench::onGetName() { + return fName.c_str(); +} + +bool SKPBench::isSuitableFor(Backend backend) { + return backend != kNonRendering_Backend; +} + +SkIPoint SKPBench::onGetSize() { + return SkIPoint::Make(fClip.width(), fClip.height()); +} + +void SKPBench::onDraw(const int loops, SkCanvas* canvas) { + canvas->save(); + canvas->scale(fScale, fScale); + for (int i = 0; i < loops; i++) { + fPic->draw(canvas); + canvas->flush(); + } + canvas->restore(); +} -- cgit v1.2.3