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.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 bench/SKPBench.h (limited to 'bench/SKPBench.h') diff --git a/bench/SKPBench.h b/bench/SKPBench.h new file mode 100644 index 0000000000..9cc9192820 --- /dev/null +++ b/bench/SKPBench.h @@ -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. + */ + +#ifndef SKPBench_DEFINED +#define SKPBench_DEFINED + +#include "Benchmark.h" +#include "SkCanvas.h" +#include "SkPicture.h" + +/** + * Runs an SkPicture as a benchmark by repeatedly drawing it scaled inside a device clip. + */ +class SKPBench : public Benchmark { +public: + SKPBench(const char* name, const SkPicture*, const SkIRect& devClip, SkScalar scale); + +protected: + virtual const char* onGetName() SK_OVERRIDE; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE; + virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE; + virtual SkIPoint onGetSize() SK_OVERRIDE; + +private: + SkAutoTUnref fPic; + const SkIRect fClip; + const SkScalar fScale; + SkString fName; + + typedef Benchmark INHERITED; +}; + +#endif -- cgit v1.2.3