我在Objective-C中编写了一个iPhone应用程序,它在视图中使用了一些自定义绘图,我想对我的代码的各种修订进行基准测试,看看它真正有用 . 我正在计划这样做,通过设置一个新的应用程序,将我的自定义绘图代码添加到视图的drawRect:方法,然后,在视图控制器的for循环中,发送 [UIView setNeedsDisplay]
一些很多次并计时多长时间需要完成 . 但是 setNeedsDisplay
调用似乎是缓存的,所以即使我在for循环中调用它1000次, drawRect:
方法只被调用一次 . 此外,我尝试直接调用drawRect:但我需要一个图形上下文来做一些绘图,当我不使用 setNeedsDisplay:
时,UIGraphicsGetCurrentContext()不会给我一个上下文 .
有什么建议?
谢谢,
凯尔
4 回答
您可以通过执行以下操作来为视图 Build 基准:
(没试过,但它应该工作)
你的NSView的.m内部 . 显然,您可能希望将其连接到UI或其他内容 .
不要忘记,如果经常使用drawRect,您也可以使用CoreImage性能工具并获得帧率 .
您还可以使用一些性能工具来查看该方法花费的时间 .
如果您正在寻找可以进行更深入分析的内容,我可以使用一组宏来进行时间分析:https://gist.github.com/952456