Рисование в фоновом потоке на iOS

У меня есть представление с очень сложной логикой рисования (это представление карты, которое рисует на основе данных ГИС). Выполнение этого рисования в основном потоке блокирует пользовательский интерфейс и делает приложение невосприимчивым. Я хочу переместить отрисовку в фоновый поток, например, с помощью NSOperation.

Каков наилучший способ структурировать это?

В настоящее время я рисую в CGContext вне памяти, а затем конвертирую его в CGImageRef, который я посылаю в представление для блиттинга в основном потоке. К сожалению, это занимает много памяти, и кажется, что ускорение GPU больше не используется, так как оно немного медленнее. Есть ли какой-то способ рисовать непосредственно для представления из фонового потока? Я знаю, что UIKit не является многопоточным, но может быть есть какой-то способ заблокировать представление, пока я рисую?

6
задан Jon Tirsen 9 October 2011 в 07:19
поделиться