我有一个倒计时时钟,它出现在我的游戏中一个已经种植/开始建造的物体的上方。
我使用的是Sparrow框架。
现在我只是在onEnterFrame中运行一个方法,它检查每一帧(实际上我已经将它设置为每隔一帧),并更新倒计时时钟,但我想知道这是不是一种缓慢和低效的方式来做这件事。
有没有办法更新我的计数器,而不会阻塞东西?
我应该补充的是,在游戏屏幕上将会有许多这样的倒计时时钟。
发布于 2012-11-09 00:42:40
一种不同的方法是使用NSTimer,它的滴答时间与您希望倒计时计数器减少的时间间隔相同。每滴答一次,您就会递减计数器并调用setNeedsDisplay
。
如果您所做的只是检查倒计时的值是否已更改onEnterFrame
,并在计数器已更改的情况下重新绘制,那么您应该没问题。
发布于 2012-11-09 00:33:47
过早的优化..你不知道它很慢你认为它可能很慢
不管怎么说,我不明白。你担心画画吗?如果是的话。所有视图仅执行setNeedsDisplay,并在每次运行循环迭代时以批处理模式刷新
发布于 2013-01-21 01:46:50
你运行的线程越少,它应该运行得越流畅。计数器只是一个变量,它的开销非常小,这一点你真的不用担心。
渲染操作,加载图像,创建新对象,销毁对象和其他事情都会消耗更多的资源,所以增加一个计数器根本不应该是一个性能问题。
https://stackoverflow.com/questions/13293230
复制相似问题