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