diff options
author | msarett <msarett@google.com> | 2016-08-18 13:11:48 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-18 13:11:48 -0700 |
commit | 93242c4ae50dfcc0d922cdb3ba80bbc7b4bbe93d (patch) | |
tree | d7b490c01fd5570351244b65fe7ec110d02a699b /bench/DrawLatticeBench.cpp | |
parent | 3aafe111b6cc388400092851cc53bbbdfcb8a81c (diff) |
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) 34.7us
Src=100x100, Dst=500x500, NumRects=9
Android 77.0us
Skia (without patch) 56.9us
Skia (with patch) 44.5us
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) 55.9us
Src=100x100, Dst=500x500, NumRects=15
Android 207us
Skia (without patch) 152us
Skia (with patch) 63.0us
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
Review-Url: https://codereview.chromium.org/2255963002
Diffstat (limited to 'bench/DrawLatticeBench.cpp')
-rw-r--r-- | bench/DrawLatticeBench.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
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");) |