From 24e963d42914af4ab74c1001412de82dc63d8ac5 Mon Sep 17 00:00:00 2001 From: Yuqian Li Date: Wed, 6 Dec 2017 11:30:58 -0500 Subject: Test performance of 565 bitmap scaling This would catch b/70172912 On Linux desktops, see the difference between 8888 and 565 using: nanobench --config 8888 -m ^bitmap_RGB_565_scale$ ^bitmap_BGRA_8888_scale$ ^bitmap_RGB_565_scale_bilerp$ ^bitmap_BGRA_8888_scale_bilerp$ On Android, use: nanobench --config 8888 -m ^bitmap_RGB_565_scale$ ^bitmap_RGBA_8888_scale$ ^bitmap_RGB_565_scale_bilerp$ ^bitmap_RGBA_8888_scale_bilerp$ The results are similar if nanobench is run with --config 565. So it seems that the destination color type isn't very critical. Bug: skia: Change-Id: I71defda4d9e089a9a973cdb0c161773bc16e4a24 Reviewed-on: https://skia-review.googlesource.com/81141 Reviewed-by: Mike Klein Commit-Queue: Yuqian Li --- bench/BitmapBench.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bench/BitmapBench.cpp') diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp index 1fd2f696b8..cc6f325f1e 100644 --- a/bench/BitmapBench.cpp +++ b/bench/BitmapBench.cpp @@ -313,6 +313,10 @@ DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, f DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, true, kScale_Flag | kBilerp_Flag); ) DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false, kScale_Flag | kBilerp_Flag); ) +// The following two cases test the performance regression of b/70172912 . +DEF_BENCH( return new FilterBitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false, kScale_Flag | kBilerp_Flag); ) +DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false, true); ) + // scale rotate filter -> S32_opaque_D32_filter_DXDY_{SSE2,SSSE3} DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); ) DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); ) -- cgit v1.2.3