【发布时间】:2012-04-19 08:30:05
【问题描述】:
我正在编写一个数学应用程序,用户可以在其中绘制多个数学图形,如圆形、正方形、线条等...我正在使用当前图形上下文、Quartz 2D、UIView 和@987654321 直接在屏幕上绘制@ 方法。
我不确定我在问什么,但这种使用drawRect: 的绘图方式是否每次都对性能很重(iPhone 电池)?非常感谢。
【问题讨论】:
-
这个问题无法回答,因为它完全取决于您在 drawRect 中所做的事情。
-
这完全取决于您更新屏幕的频率(致电
setNeedsDisplay) -
是的,这取决于您绘制的内容,但对此仍有一些话要说:根据我的经验,性能不是 draw rect 的问题(情况正好相反)。但是如果你有很多视图实例,它们都是用同时显示的 drawRect 实现绘制的(或者可能在滚动视图上离屏)你会遇到内存问题,因为 UIKit 内部有很多优化如果您使用核心图形绘制自己,则框架无法使用它。与往常一样:采取第一种方法,对其进行测试,如果测试失败,则只考虑替代方案。
-
非常感谢。根据用户想要绘制的内容,我每次都会动态创建最多 10 个视图,其中一个接一个地绘制数学图形。
标签: iphone performance drawrect