Down by the Lake


I recently pushed a significant set of changes to the GPUImage repository, and wanted to explain them in a little more detail, especially since this changes one part of the manual photo filtering process. These changes should dramatically reduce the overall memory usage of the framework, help to prevent memory-related crashes, and fix a number of subtle bugs that have plagued the framework since I started it.

Read on for more about these changes.


With the launch of iOS 7, and its use of blurs throughout the interface, there's been a lot of interest in fast ways of blurring content. GPUImage has had a reasonably performant, but somewhat limited Gaussian blur implementation for a while, but I've not been happy with it. I've completely rewritten this Gaussian blur, and it now supports arbitrary blur radii while still being tuned for the iOS GPUs. At higher blur radii, I'm slower than Core Image, though, and I don't quite understand why.

Read on for more about the techniques I've used for GPU optimization of a Gaussian blur, as well as some interesting iOS benchmarks.

Molecules icon

It's been a little while since the last update, but version 2.1 of Molecules just went live on the App Store. 2.1 adds full support for the new Retina iPad, and has an enhanced rendering engine to support the detail on that newer device. I've also improved the contrast slightly on newer devices.

For iPad users, I've also added an atomic color key, which I know has been a highly requested feature. I've yet to rework the iPhone / iPod touch interface to support this, so this is not present on those devices.

SecondConf logo

I'd like to introduce a new open source framework that I've written, called GPUImage. The GPUImage framework is a BSD-licensed iOS library (for which the source code can be found on GitHub) that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImage allows you to write your own custom filters, supports deployment to iOS 4.0, and has a slightly simpler interface. However, it currently lacks some of the more advanced features of Core Image, such as facial detection.

Read on for more about the GPUImage framework.

Syndicate content