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