Tengo una vista con una lógica de dibujo muy compleja (es una vista de mapa que se basa en datos GIS). Hacer este dibujo en el hilo principal bloquea la interfaz de usuario y hace que la aplicación no responda. Quiero alejar el dibujo a un hilo de fondo con, por ejemplo, una NSOperation.Dibujando un hilo de fondo en iOS
¿Cuál es la mejor manera de estructurar esto?
Actualmente estoy dibujando un CGContext fuera de memoria y luego lo convertí en un CGImageRef que envié a la vista para encajar en el hilo principal. Desafortunadamente, esto consume mucha memoria y parece que la aceleración de la GPU ya no se usa, ya que es bastante más lenta. ¿Hay alguna forma de dibujar directamente a la vista desde un hilo de fondo? Sé que UIKit no es seguro para múltiples hilos, pero tal vez haya alguna forma de bloquear la vista mientras hago el dibujo.
¿Quieres decir CALayer? –
No. CGLayer. http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGLayer/Reference/reference.html – MacGeek
Así que estoy intentando este enfoque ahora, pero incluso si corro con un NSTimer y ejecuto solo el 50% del tiempo (se ejecuta en intervalos de 0.2 seg para un máximo de 0.1s por ciclo de dibujo) parece que todavía ignora todos los eventos de UI. Hay un truco para esto? –