I had to implement a Gaussian Blur for an ihpone project, and the direct approach was really slow. For each point, you compute a rxrx4 pixels for each point (r is that rayon of the blur).
I’ve tried several other approach, but I found the stackblur alorgirthm. The idea of the stackblur is instead of recomputed all the neighbouround points for each new points, you juste maintain a stack of value, and remove/add value on the fly.
The source code is availabe on git hub with a sample project:
The source code is adpated from the Mario Kingemann algorithm, check his web site, full of good stuff