我在画一个大的方案,包括很多线。我这样做的 drawRect: 方法 UIView.该计划是较大的比层的看法和我检查每个行和绘制它仅如果它相交可见rect.但是,在一个时刻,我认为,我应该这么做吗?也许是石英已经在做这个测试吗?

因此,问题是:当我使用功能 CGContextAddLineToPoint() 不会的 Core Graphics 测试这种行为的交叉点与层rect或者它只是画呢?

有帮助吗?

解决方案

当我使用功能 CGContextAddLineToPoint() 不会的核心的图形测试这条线,用于交叉路口有层rect或者它只是画呢?

没有,它不会抑制 lineto, 因为这只是其中一个段子.子路径可能相互交叉的rect即使它的一个线段没有。你可以绘图只有一个线每个子路径,但是石英不知道那直到你 moveto 对于一个新的子.

至于是否 你的 应测试线的交叉点rect, 该文件 说:

风景,实现一个 drawRect: 方法应该总检查通过了矩形的方法,并用它的范围限制他们的绘图作业。因为绘图是一个相对较昂贵的作业,限制绘图以这种方式是一个很好的方式,以提高性能。

我认为,我们可以合理地解释这意味着你应该,事实上,检查是否线相交的矩形,跳过那些没有。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top