使用drawRect绘图:性能很重要?

问题描述:

我正在写一个数学应用程序,用户可以在其中绘制圆形,正方形,直线等几个数学数字......我使用当前图形上下文,Quartz 2D,UIView和drawRect:方法直接绘制屏幕。使用drawRect绘图:性能很重要?

我不确定我在问什么,但是这种使用drawRect:的绘图方式每次都会对性能造成影响(iPhone电池)?非常感谢。

+1

这个问题是不应答的,因为它完全取决于你在drawRect中做什么。 – sosborn 2012-04-19 08:34:47

+1

这一切都取决于你更新屏幕的频率(调用'setNeedsDisplay') – 2012-04-19 08:42:04

+0

是的,这取决于你画的东西,但是还有什么可以说的:性能是 - 根据我的经验 - 不是绘制矩形的问题情况正好相反)。但是,如果你有很多视图实例,这些实例都是通过同时显示的drawRect实现来绘制的(或者可能在滚动视图上不显示),你将会遇到内存问题,因为UIKit中有很多优化如果您使用核心图形绘制自己,则框架无法使用它。一如既往:采取第一种方法,测试它,只在测试失败时才考虑替代方案。 – 2012-04-19 08:47:44

为了回答您的问题,您需要使用工具在恶劣条件下对应用的执行进行配置。它可能很重,也可能很好。由于多种原因,复杂性可能会有很大的不同。如果界面明显滞后/缓慢,那么可能会表示您的绘图花费了太多时间。如果您怀疑这会因复杂性而成为问题,那么通常会在样本引入时发现并纠正问题。