天天看點

iOS裝置中垂直同步開啟後的幀率計數

因為ios裝置的垂直同步總是開啟的是以顯得幀計數意義沒啥意義.

幀計數給你一個多個幀中的平均數,現實中,你幀速率隻能是60,30,20,15,12以及6fps等各個常數中的一個.所有這些值都是60的因子.

由于垂直同步被開啟,如果一個幀未能在0.0166秒中在它的更新和渲染循環(update-and-render cycle)中完成,則該幀将顯示在最近的另一個0.0166秒中,而不是一直渲染.

是以一旦遊戲開始耗費超過0.0166秒去完成每一個幀,幀速率将降至30fps.

對于一些遊戲幀速率劇烈在30至60fps之間波動,如果将其鎖定在30fps就會很有意義.這會感覺到比幀率不斷起伏而跳過成堆的幀(是以降至30fps然後在60fps渲染少量更多的幀)更加平滑,

為了改變最大幀速率,你可以在appdelegate.m的startscene方法添加如下代碼:

除以framespersecond是有必要的,因為animationinterval值被表示為seconds per frame.

繼續閱讀