El dibujo de la imagen con CoreGraphics en Retina iPad es lento

En la aplicación de mi iPad, estoy renderizando en un mapa de bits fuera de la pantalla y luego dibujando el mapa de bits en la pantalla. (Esto se debe a que quiero reutilizar el código de representación de mapa de bits existente). En el iPad 2, esto funciona como un encanto, pero en el nuevo iPad con pantalla Retina, dibujar el mapa de bits es realmente lento, aunque su resolución sigue siendo la mismo.

Para dibujar el mapa de bits, usamos las funciones regulares de Quartz 2D:CGImageCreate con un proveedor de datos creado porCGDataProviderCreateWithData, Formato RGBA de 32 bits conkCGImageAlphaNoneSkipLast. En elUIView que muestra el mapa de bits, endrawRect:, usamosCGContextDrawImage para dibujarlo al contexto devuelto porUIGraphicsGetCurrentContext.

Tenga en cuenta que ni siquiera estoy tratando de dibujar a doble resolución: por ahora estoy bien con la misma resolución que estaba usando en el iPad 2. Parece que CoreGraphics está duplicando internamente los píxeles y luego enviándolos a la GPU , a pesar deCGImage Que estoy haciendo debería estar bien para pasar a la GPU directamente. ¿Algunas ideas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta