2011-01-12 61 views

回答

0

使用CADisplayLink得到所謂的在每一幀。這將是最大60 FPS。如果你的代碼做了太多的工作,你會不經常被調用,而且你的UI會感覺速度低於40 FPS。

替代是安排NSTimers,但仍存在一些問題。如果您runloop還沒有準備好打電話計時器上的時間,通話將被跳過,因此不能保證所有的幀速率。

從蘋果的doc

重複計時器總是本身基於預定的發射時間 ,而不是實際的射擊 時間表 。例如,如果計時器 安排火在特定時間 之後每5秒中, 預定發射時間總是在原有5秒時間 間隔下降 ,即使實際發射 時間被延遲。如果燒製時間 是迄今爲止延遲,它通過一個 或多個預定發射時間, 定時器只有一次針對 時間發射;計時器然後 改期,射擊,在 未來 下次計劃發射時間之後。