Получение растрового изображения из CALayers, любой альтернативы renderInContext

У меня есть много CALayers, которые создаются на лету во время работы моего приложения, и мне нужно иметь возможность создать одно растровое изображение из них, которое позже будет замаскировано .

Когда мне нужно создать маску, слои CALay уже отрисовываются в фоновом режиме (также с использованием shouldRasterize = YES), а с помощью renderInContext я могу получить растровое изображение. Однако по мере увеличения количества CAlayers пауза, вызванная renderInContext, становится все длиннее и дольше. Есть ли альтернатива, которую я могу использовать для renderInContext, или альтернативный способ ее использования, чтобы остановить временное зависание моего приложения?

Идеальным был бы доступ к уже нарисованным пиксельным данным напрямую из памяти / буфера / кеша без использования OpenGL, но я не уверен, возможно ли это с CoreAnimation.

Спасибо, любая дополнительная информация будет очень полезна!

7
задан xhan 28 August 2011 в 16:27
поделиться