Ответ 1
Вы пытались установить shouldRasterize
на YES
на уровне?
Я использую довольно простой код для отображения масштабируемого PDF файла в scrollview, и он отлично работает на iPad 2 и оригинальном iPad. Но он ошеломляет медленно на iPad 3. Я знаю, что я нажимаю больше пикселей, но производительность рендеринга просто неприемлема.
В iOS 5.0 и более поздних версиях свойство tileSize произвольно зажато на 1024, что означает, что на экране сетчатки отображаются половину этого размера. Кто-нибудь нашел способ преодолеть это ограничение?
В противном случае кто-нибудь нашел способ улучшить скорость CATiledLayer
на iPad 3?
Вы пытались установить shouldRasterize
на YES
на уровне?
Запустили ли вы профилировщик времени на эти розыгрыши и не исключали ли вы возможность избыточных ничьей?
У меня был какой-то странный двойной рисунок, который легко найти, используя:
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context
{
NSLog(@"draw %@", NSStringFromCGRect(CGContextGetClipBoundingBox(context)));
// draw pdf
}
Здесь также можно настроить различные параметры:
tiledLayer.levelsOfDetail = 2
tiledLayer.levelsOfDetailBias = 4
tiledLayer.tileSize = self.bounds.size
CGContextSetInterpolationQuality(context, kCGInterpolationLow)
CGContextSetRenderingIntent(context, kCGRenderingIntentDefault)
self.contentScaleFactor = 1.0