

A blurring view for Android - Renat
http://developers.500px.com/2015/03/17/a-blurring-view-for-android.html

======
Ryannnnnnn
I've tried BlurringView on a full screen View, the right edge of the View
seems not blurred... How can I fix this?

------
fabrantes
I'm wondering how fast drawing each frame of the underlying view into a bitmap
is. That's not hardware accelerated is it? Or are you using some kind of off-
screen gpu buffer to do that?

------
mzmzmz
Isn't RenderScript available since API level 11? And there is also a
SupportLibrary version that is available for even older versions of Android.
What do you mean saying that it's from API level 17?

~~~
on_and_off
I have tried using Renderscrip in a large scale application (+1 million daily
users) with a min API = 7. It is in fact available through the support library
from API 8. However : -The Gaussian Blur Intrinsic is buggy on some terminals
! The implementation of Gaussian Blur in the Nexus 10 makes a mistake in a
division (1000 instead of 1024 or the reverse), so we have very visible
artefacts on this terminal. It might have been solved with the Lollipop ROM
though. -Using Renderscript on old terminal has proved to be a real pain in
the ass. Since we have a large userbase, we also encounter some fairly exotic
terminals. If I remember well, some Wikio phones (low cost chinese phones, but
validated by Google) crashes as soon as you try to invoke Renderscript in a
native thread (so you don't have any way to recover from this exception).

In the end, we removed Renderscript and replaced it by a custom blur
implementation. In our case RS was not used for real time blur rendering, just
blurring of a downloaded images, so the computation time is not vital.

I might have tried to reintroduce Renderscript later on, at least for the
latest API levels but now that blurring does not fit anymore in Android's
design language, we will just remove the blurred views from our app.

~~~
jfcartier
What about libraries that use the NDK ([https://github.com/kikoso/android-
stackblur](https://github.com/kikoso/android-stackblur)) or a Box Blur
([https://github.com/CyberAgent/android-
gpuimage](https://github.com/CyberAgent/android-gpuimage)). Have you tried
those?

~~~
on_and_off
I did not know of android-gpuimage until now so I don't have an opinion on
this lib. I had a look at the open source alternatives to RS for blurring
(including stackblur) and they were all very amateurish (crashes or graphical
artifacts in some pretty simple usecases). I ended up writing my own
implementation.

