Как отмечает Стив, в моем ответе здесь я призываю людей взглянуть на OpenGL ES для лучшей производительности при обработке и рендеринге изображений на экран с камеры iPhone. Причина этого в том, что использование Quartz для постоянного обновления UIImage на экране - довольно медленный способ отправки необработанных данных пикселей на дисплей.
Если возможно, я рекомендую вам обратиться к OpenGL ES, чтобы выполнить вашу фактическую обработку, потому что хорошо настроенные графические процессоры предназначены для такой работы. Если вам необходимо поддерживать совместимость с OpenGL ES 1.1, ваши возможности обработки намного более ограничены, чем у программируемых шейдеров 2.0, но вы все равно можете выполнить некоторые базовые настройки изображения.
Даже если вы выполняете всю обработку изображений с использованием необработанных данных на ЦП, вам все равно будет намного лучше, если использовать текстуру OpenGL ES для данных изображений, обновляя ее с каждым кадром. Вы увидите скачок в производительности, просто переключившись на этот маршрут рендеринга.
(Обновление: 18.02.2012). Как я описал в своем обновлении к ответу, приведенному выше, я значительно упростил этот процесс с моей новой открытой GPUImage инфраструктурой. Это обрабатывает все взаимодействия OpenGL ES для вас, так что вы можете просто сфокусироваться на применении фильтров и других эффектов, которые вы хотели бы использовать во входящем видео. Это где-то в 5-70 раз быстрее, чем выполнять эту обработку с использованием подпрограмм с привязкой к ЦП и обновлений отображения вручную.