【发布时间】:2009-07-20 21:45:38
【问题描述】:
好的,我有一个UIView,它显示一个相当宽的CGPath。它可以在UIScrollView 内水平滚动。现在,我的视图使用 CATiledLayer,因为它的宽度超过 1024 像素。
所以我的问题是:这有效率吗?
- (void) drawRect:(CGRect)rect {
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextAddPath(g,path);
CGContextSetStrokeColor(g,color);
CGContextDrawPath(g,kCGPathStroke);
}
基本上,每次绘制图层中的图块时,我都会绘制整个路径。有谁知道这是否是一个坏主意,或者 CGContext 是否相对聪明地只绘制剪切矩形内的路径部分?
路径主要是这样设置的,我可以将它分成大小和形状与图块相似的块,但我需要做更多的工作,路径之间需要一些冗余(对于跨越图块边界的形状),并且还需要一些计算来找到要绘制的路径。
是否值得朝这个方向移动,还是 CGPath 已经相对较快地绘制?
【问题讨论】:
标签: iphone cocoa-touch quartz-graphics