drawRect: velocidad y CGContextDrawRadialGradient (¿super lenta?)

Estoy teniendo problemas con mi subclass UIView ' drawRect: function. Utilizo CGContextDrawRadialGradient() en él y él. Cuando el usuario arrastra mi UIView, luchó por mantenerse al día si incluyo el gradiente.

Usando Time Profiler veo que literalmente> 98% de mi time se gasta en mi subclass ' drawRect : method.

Primero: ¿sería más rápido usar una image estática de un gradiente? Segundo: ¿hay alguna forma de acelerar esto? ¿Puedo cachear el gradiente de alguna manera? no cambia mucho, pero las routes a su alnetworkingedor y su intersección cambian a medida que arrastra la vista UIView .

Si alguien sabe de una guía general sobre cómo hacer drawRect: methods no absorben todos los ciclos de la CPU, eso sería increíble.

Estoy teniendo el mismo problema. Una solución es dibujar un gradiente más pequeño y ampliarlo. Los resultados no son pixel perfectos, pero más rápidos.

Vea también las ideas mencionadas en esta respuesta .