我目前正在使用CADisplayLink执行一些特定的减速动画。我将frameInterval设置为1.我已经看到一些开源项目只使用1/60秒作为帧更新之间的时间增量。我发现还有一个时间戳方法,但它采用的是马赫格式。我应该使用哪一个,我可以假设所有的iPhone刷新率都是60hz,因此安全使用1/60? 如果我使用时间戳方法,我应该如何将其转换为秒?
非常感谢提前。
答案 0 :(得分:1)
使用1/60秒作为时间增量是危险的,因为您永远不知道未来的设备或外部显示器是否会使用该刷新率。因此,如果您希望面向未来,则应该使用基于时间戳的解决方案。 您可以使用Unix纪元时间戳并计算两次目标调用之间的间隔:
UInt64(NSDate().timeIntervalSince1970 * 1000.0)
您还可以使用CADisplayLink时间戳,该时间戳已经是几秒钟了: https://developer.apple.com/reference/quartzcore/cadisplaylink/1621257-timestamp