diff options
author | robertphillips <robertphillips@google.com> | 2014-11-21 06:19:36 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-21 06:19:36 -0800 |
commit | 5b69377507478623dcf5b11f3ecb010f87c4794f (patch) | |
tree | 800d755d25ec30551128e645f0b873a10de2e1e5 /bench/SKPBench.h | |
parent | e77dadd91ae6f4319c2c047e7e36cc79bb4d1eff (diff) |
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
Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe
Review URL: https://codereview.chromium.org/731973005
Diffstat (limited to 'bench/SKPBench.h')
-rw-r--r-- | bench/SKPBench.h | 20 |
1 files changed, 14 insertions, 6 deletions
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<const SkPicture> fPic; @@ -33,6 +37,10 @@ private: SkString fName; SkString fUniqueName; + const bool fUseMultiPictureDraw; + SkTDArray<SkSurface*> fSurfaces; // for MultiPictureDraw + SkTDArray<SkIRect> fTileRects; // for MultiPictureDraw + typedef Benchmark INHERITED; }; |