Понятно, что при рендеринге на CPU, а не на GPU, рендеринг займет гораздо больше времени. Однако фотографии, сделанные с помощью камеры iPhone 4, слишком велики для визуализации с помощью графического процессора, поэтому они должны отображаться с помощью процессора. Это хорошо работает для фильтров Core Image, за исключением фильтров, возвращаемых из autoAdjustmentFiltersWithOptions: при рендеринге CIImage, модифицированного этими фильтрами, это занимает более 40 секунд, в отличие от доли секунды с графическим процессором.
Шаги для воспроизведения:
- Создание CIImage с изображением размером более 2048x2048 на iPhone 4 или 4096x4096 на iPhone 4S.
- Вызовите метод autoAdjustmentFiltersWithOptions: для CIImage.
- Применить возвращенные фильтры к CIImage.
- Визуализация CIImage для CGImageRef.
Ожидаемые результаты:
Изображение занимает на несколько секунд больше времени, чем при использовании графического процессора для визуализации.
Фактические результаты:
На рендеринг уходит до 40 секунд.
Примечания:
Приложение «Фотографии» может улучшить большие фотографии намного быстрее, чем этот метод. Показывает, что аппаратное обеспечение iPhone 4 / 4S способно достичь этого, независимо от того, использует ли приложение Photos частные API или нет.
У кого-нибудь есть совет?