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