我有一个正在编写的应用程序,我正在将其绘制到 NSView 中。在mouseDown
我将位置保存在我的数据模型中,然后在drawRect
视图的方法中在该位置绘制图形。一切正常。
在我的最后,我mouseDown
打电话[self setNeedsDisplay:YES];
强制重绘。唯一的问题dirtyRect
是始终是视图的完整大小。我想尽可能地优化它,这样我就不会只为几个改变的像素重绘整个窗口。
所以现在我[self drawRect:...]
改为调用并指定矩形。
现在drawRect
我正在比较每个图形,我必须看看它是否属于dirtyRect。似乎我已经将绘图工作换成了边界检查工作。我不确定我是否提高或降低了效率。
那么标准做法是什么?仅重绘视图中的所有内容并忽略dirtyRect是否很常见? 有没有一个很好的函数可以用来测试我的对象是否在dirtyRect
?