From 10e3d9bf59bdec92c05367ae0b71e1ce1ee4a690 Mon Sep 17 00:00:00 2001 From: msarett Date: Thu, 18 Aug 2016 15:46:03 -0700 Subject: Batched implementation of drawLattice() for GPU Bechmarks (Nexus 6P): Src=100x100, Dst=250x250, NumRects=9 Android 77.7us Skia (without patch) 57.2us Skia (with patch) 30.9us Src=100x100, Dst=500x500, NumRects=9 Android 77.0us Skia (without patch) 56.9us Skia (with patch) 31.8us Src=100x100, Dst=1000x1000, NumRects=9 Android 180us Skia (without patch) 96.8us Skia (with patch) 70.5us Src=100x100, Dst=250x250, NumRects=15 Android 208us Skia (without patch) 155us Skia (with patch) 38.2us Src=100x100, Dst=500x500, NumRects=15 Android 207us Skia (without patch) 152us Skia (with patch) 38.4us Src=100x100, Dst=1000x1000, NumRects=15 Android 233us Skia (without patch) 156us Skia (with patch) 99.9us BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255963002 Committed: https://skia.googlesource.com/skia/+/93242c4ae50dfcc0d922cdb3ba80bbc7b4bbe93d Review-Url: https://codereview.chromium.org/2255963002 --- bench/DrawLatticeBench.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'bench/DrawLatticeBench.cpp') diff --git a/bench/DrawLatticeBench.cpp b/bench/DrawLatticeBench.cpp index 4c03ca1dfa..9c4d31a099 100644 --- a/bench/DrawLatticeBench.cpp +++ b/bench/DrawLatticeBench.cpp @@ -29,6 +29,10 @@ public: return fName.c_str(); } + SkIPoint onGetSize() override { + return SkIPoint::Make(1000, 1000); + } + bool isSuitableFor(Backend backend) override { return kRaster_Backend == backend || kGPU_Backend == backend; } @@ -54,6 +58,17 @@ private: typedef Benchmark INHERITED; }; -static int gDivs[2] = { 250, 750, }; -DEF_BENCH(return new DrawLatticeBench(gDivs, 2, gDivs, 2, SkISize::Make(1000, 1000), - SkRect::MakeWH(4000.0f, 4000.0f), "StandardNine");) +static int gDivs9[2] = { 25, 75, }; +DEF_BENCH(return new DrawLatticeBench(gDivs9, 2, gDivs9, 2, SkISize::Make(100, 100), + SkRect::MakeWH(250.0f, 250.0f), "Src100_Dst250_Rects9");) +DEF_BENCH(return new DrawLatticeBench(gDivs9, 2, gDivs9, 2, SkISize::Make(100, 100), + SkRect::MakeWH(500.0f, 500.0f), "Src100_Dst500_Rects9");) +DEF_BENCH(return new DrawLatticeBench(gDivs9, 2, gDivs9, 2, SkISize::Make(100, 100), + SkRect::MakeWH(1000.0f, 1000.0f), "Src100_Dst1000_Rects9");) +static int gDivs15[4] = { 15, 45, 55, 85, }; +DEF_BENCH(return new DrawLatticeBench(gDivs15, 4, gDivs15, 4, SkISize::Make(100, 100), + SkRect::MakeWH(250.0f, 250.0f), "Src100_Dst250_Rects15");) +DEF_BENCH(return new DrawLatticeBench(gDivs15, 4, gDivs15, 4, SkISize::Make(100, 100), + SkRect::MakeWH(500.0f, 500.0f), "Src100_Dst500_Rects15");) +DEF_BENCH(return new DrawLatticeBench(gDivs15, 4, gDivs15, 4, SkISize::Make(100, 100), + SkRect::MakeWH(1000.0f, 1000.0f), "Src100_Dst1000_Rects15");) -- cgit v1.2.3