3 ms·
A blurring view for Android
- bmcdougall 12y agoSuper interesting blog post! Well done!
- mzmzmz 12y agoIsn'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 12y agoI 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 12y agoWhat 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 12y agoI 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.
- fabrantes 12y agoI'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?
- Ryannnnnnn 12y agoI've tried BlurringView on a full screen View, the right edge of the View seems not blurred... How can I fix this?
- deleted 12y ago[deleted]