diff options
author | 2013-11-05 15:03:26 +0000 | |
---|---|---|
committer | 2013-11-05 15:03:26 +0000 | |
commit | fedf13d73a6d6f1921ce5f449bb6e34e9d8e14e4 (patch) | |
tree | 6bc1f4830ddef4e58edfb28f6bbb0f03dbc4dd59 /src/effects | |
parent | ecdb6b326f416d945044d1f4be0f2b7ee7335f3a (diff) |
Add SK_PREFETCH and use in SkBlurImageFilter.
Relative speed is 1.2-1.6x on desktop, 1.0-1.2x on Nexus 4.
(Division remains the bottleneck, now more so.)
BUG=
R=senorblanco@google.com, reed@google.com, senorblanco@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/57823003
git-svn-id: http://skia.googlecode.com/svn/trunk@12129 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/SkBlurImageFilter.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/effects/SkBlurImageFilter.cpp b/src/effects/SkBlurImageFilter.cpp index 2b823bc98b..0fa54b555c 100644 --- a/src/effects/SkBlurImageFilter.cpp +++ b/src/effects/SkBlurImageFilter.cpp @@ -144,6 +144,8 @@ static void boxBlurY(const SkBitmap& src, SkBitmap* dst, int kernelSize, sumB += SkGetPackedB32(r); } sptr += srcStride; + // The next leading pixel seems to be too hard to predict. Hint the fetch. + SK_PREFETCH(sptr + (bottomOffset + 1) * srcStride); dptr += dstStride; } } |