2016-08-27 75 views
0

我目前使用CADisplayLink來執行一些特定的減速動畫。我將frameInterval設置爲1.我看到一些開源項目僅使用1/60秒作爲幀更新之間的時間增量。我發現還有一個可用的時間戳方法,但是它是以mach格式。我應該使用哪一個,我可以假設iPhone的所有刷新率都是60Hz,因此可以安全使用1/60? 如果我使用時間戳方法,我應該如何將其轉換爲秒?timestamp vs 1/60 for CADisplayLink

非常感謝提前。

回答

1

使用1/60秒作爲時間增量是危險的,因爲您永遠不知道未來的設備或外部顯示器是否會使用該刷新率。所以如果你想成爲面向未來的人,你應該使用基於時間戳的解決方案。 可以使用Unix時間戳的時間戳和2之間的目標調用計算間隔:

UInt64(NSDate().timeIntervalSince1970 * 1000.0) 

也可以使用CADisplayLink時間戳,這已經是在秒: https://developer.apple.com/reference/quartzcore/cadisplaylink/1621257-timestamp