DescriptionImplemented a SSE2 version of ClampX_ClampY_{no}filter_scale. Added two bitmap benchmarks to cover them in the bench.
The original version:
out\Release\bench -config 8888 -match bitmap_clamp -repeat
200
skia bench: alpha=0xFF antialias=1 filter=0 rotate=0 scale=0 clip=0 dither=defau
lt strokeWidth=none scalar=float system=WIN32
running bench [640 480] bitmap_clamp_scale_filtering_8888_update_volatile 8888:
cmsecs = 48.28
running bench [640 480] bitmap_clamp_scale_8888_update_volatile 8888: cmsecs =
12.56
The SSE2 version:
out\Release\bench -config 8888 -match bitmap_clamp -repeat
200
skia bench: alpha=0xFF antialias=1 filter=0 rotate=0 scale=0 clip=0 dither=defau
lt strokeWidth=none scalar=float system=WIN32
running bench [640 480] bitmap_clamp_scale_filtering_8888_update_volatile 8888:
cmsecs = 39.94
running bench [640 480] bitmap_clamp_scale_8888_update_volatile 8888: cmsecs =
10.22
We can observe 17.27% gain with filter drawBitmap, and 18.63% gain with no filter drawBitmap.
With this patch, my HTML5 benchmark Myalbum Zoom can get 5% performance gain.
Run tests:
tests
gm
bench
Patch Set 1 #Patch Set 2 : patch2 #
Total comments: 6
Patch Set 3 : revised patch #
Total comments: 1
MessagesTotal messages: 12
|