From 0ddad31012dabfc1267effc8071d37f7d606efbe Mon Sep 17 00:00:00 2001 From: robertphillips Date: Fri, 21 Nov 2014 05:35:54 -0800 Subject: Add MultiPictureDraw to nanobench I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium. TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/731973005 --- bench/SKPBench.h | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'bench/SKPBench.h') diff --git a/bench/SKPBench.h b/bench/SKPBench.h index 0b0e008d63..36d7dfd4cf 100644 --- a/bench/SKPBench.h +++ b/bench/SKPBench.h @@ -17,14 +17,18 @@ */ class SKPBench : public Benchmark { public: - SKPBench(const char* name, const SkPicture*, const SkIRect& devClip, SkScalar scale); + SKPBench(const char* name, const SkPicture*, const SkIRect& devClip, SkScalar scale, + bool useMultiPictureDraw); + ~SKPBench() SK_OVERRIDE; protected: - virtual const char* onGetName() SK_OVERRIDE; - virtual const char* onGetUniqueName() SK_OVERRIDE; - virtual bool isSuitableFor(Backend backend) SK_OVERRIDE; - virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE; - virtual SkIPoint onGetSize() SK_OVERRIDE; + const char* onGetName() SK_OVERRIDE; + const char* onGetUniqueName() SK_OVERRIDE; + void onPerCanvasPreDraw(SkCanvas*) SK_OVERRIDE; + void onPerCanvasPostDraw(SkCanvas*) SK_OVERRIDE; + bool isSuitableFor(Backend backend) SK_OVERRIDE; + void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE; + SkIPoint onGetSize() SK_OVERRIDE; private: SkAutoTUnref fPic; @@ -33,6 +37,10 @@ private: SkString fName; SkString fUniqueName; + const bool fUseMultiPictureDraw; + SkTDArray fSurfaces; // for MultiPictureDraw + SkTDArray fTileRects; // for MultiPictureDraw + typedef Benchmark INHERITED; }; -- cgit v1.2.3