From cc4d6673a942db11a678b572cf0dc5fca2b97f8a Mon Sep 17 00:00:00 2001 From: bsalomon Date: Thu, 5 Mar 2015 13:42:27 -0800 Subject: Increase default tile sizes in nanobench R=mtklein@google.com Review URL: https://codereview.chromium.org/982863003 --- bench/SKPBench.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'bench/SKPBench.cpp') diff --git a/bench/SKPBench.cpp b/bench/SKPBench.cpp index 800890265e..3f521799fa 100644 --- a/bench/SKPBench.cpp +++ b/bench/SKPBench.cpp @@ -10,7 +10,8 @@ #include "SkMultiPictureDraw.h" #include "SkSurface.h" -DEFINE_int32(benchTile, 256, "Tile dimension used for SKP playback."); +DEFINE_int32(benchTileW, 1600, "Tile width used for SKP playback."); +DEFINE_int32(benchTileH, 512, "Tile height used for SKP playback."); SKPBench::SKPBench(const char* name, const SkPicture* pic, const SkIRect& clip, SkScalar scale, bool useMultiPictureDraw) @@ -43,17 +44,20 @@ void SKPBench::onPerCanvasPreDraw(SkCanvas* canvas) { SkIRect bounds; SkAssertResult(canvas->getClipDeviceBounds(&bounds)); - int xTiles = SkScalarCeilToInt(bounds.width() / SkIntToScalar(FLAGS_benchTile)); - int yTiles = SkScalarCeilToInt(bounds.height() / SkIntToScalar(FLAGS_benchTile)); + int tileW = SkTMin(FLAGS_benchTileW, bounds.width()); + int tileH = SkTMin(FLAGS_benchTileH, bounds.height()); + + int xTiles = SkScalarCeilToInt(bounds.width() / SkIntToScalar(tileW)); + int yTiles = SkScalarCeilToInt(bounds.height() / SkIntToScalar(tileH)); fSurfaces.setReserve(xTiles * yTiles); fTileRects.setReserve(xTiles * yTiles); - SkImageInfo ii = canvas->imageInfo().makeWH(FLAGS_benchTile, FLAGS_benchTile); + SkImageInfo ii = canvas->imageInfo().makeWH(tileW, tileH); - for (int y = bounds.fTop; y < bounds.fBottom; y += FLAGS_benchTile) { - for (int x = bounds.fLeft; x < bounds.fRight; x += FLAGS_benchTile) { - const SkIRect tileRect = SkIRect::MakeXYWH(x, y, FLAGS_benchTile, FLAGS_benchTile); + for (int y = bounds.fTop; y < bounds.fBottom; y += tileH) { + for (int x = bounds.fLeft; x < bounds.fRight; x += tileW) { + const SkIRect tileRect = SkIRect::MakeXYWH(x, y, tileW, tileH); *fTileRects.append() = tileRect; *fSurfaces.push() = canvas->newSurface(ii); -- cgit v1.2.3