我使用相当简单的代码在滚动视图中显示可缩放的PDF,并且它在iPad 2和原始iPad上运行得非常漂亮。但它在iPad 3上的速度非常缓慢。我知道我正在推动更多的像素,但渲染性能简直是不可接受的。
在iOS 5.0及更高版本中,tileSize属性被任意限制在1024,这意味着在视网膜显示器上,瓷砖的大小只有一半。有没有人找到克服这种限制的方法?
否则,是否有人找到了提高iPad 3 CATiledLayer
速度的方法?
答案 0 :(得分:1)
您是否尝试在图层上设置shouldRasterize
至YES
?
答案 1 :(得分:0)
你是否在这些抽奖中运行了时间分析器,你是否排除了多余抽奖的可能性?
我有一些奇怪的双重绘图,很容易找到:
- (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