pro modelos caracteristicas ios ipad pdf catiledlayer retina-display

ios - caracteristicas - ipad modelos



El desempeƱo de CATiledLayer PDF es deficiente en la pantalla Retina del iPad 3 (2)

Estoy usando un código bastante sencillo para mostrar un PDF con zoom en una vista de desplazamiento, y ha funcionado perfectamente en el iPad 2 y el iPad original. Pero es asombrosamente lento en el iPad 3. Sé que estoy presionando más píxeles, pero el rendimiento de renderizado es simplemente inaceptable.

En iOS 5.0 y posterior, la propiedad tileSize se pinza arbitrariamente en 1024, lo que significa que los mosaicos aparecen en la mitad de ese tamaño en la pantalla retina. ¿Alguien ha encontrado una manera de superar esta limitación?

De lo contrario, ¿alguien ha encontrado una forma de mejorar la velocidad de CATiledLayer en el iPad 3?


¿Ejecutó un perfilador del tiempo en estos sorteos y descartó la posibilidad de sorteos redundantes?

He tenido un dibujo doble raro, que se encontró fácilmente usando:

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context { NSLog(@"draw %@", NSStringFromCGRect(CGContextGetClipBoundingBox(context))); // draw pdf }

También hay una variedad de configuraciones para jugar:

  • tiledLayer.levelsOfDetail = 2
  • tiledLayer.levelsOfDetailBias = 4
  • tiledLayer.tileSize = self.bounds.size
  • CGContextSetInterpolationQuality(context, kCGInterpolationLow)
  • CGContextSetRenderingIntent(context, kCGRenderingIntentDefault)
  • self.contentScaleFactor = 1.0

¿Has intentado configurar shouldRasterize a YES en la capa?