gpt4 book ai didi

iphone - CADisplayLink 时间戳在设备上表现异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:48 26 4
gpt4 key购买 nike

对于我的游戏循环和某些动画,我想知道自上次调用 render: 方法以来耗时间隔。

为此,我使用 CADisplayLink 并获取当前时间戳并减去上次调用的时间戳。这应该给我两个帧/调用之间的正确时间间隔。

在模拟器中运行应用程序时,我得到了各种不同的间隔值,这看起来不错。但是,如果我在 iPad 上运行应用程序,我只会得到两个不同的间隔值:0.000 和 0.125。大多数情况下,这两个值交替出现。

这是我用来确定间隔的代码。

// Time calculations (for animations and stuff)
_lastCallTime = _currentCallTime;
_currentCallTime = [displayLink timestamp];
float timeInterval = _currentCallTime - _lastCallTime;

NSLog(@"Time since last call: %f", timeInterval);

每次调用 render 方法时都会执行此代码。

这是 iPad 的一些限制吗,它不会为我的时间间隔提供准确的结果?

最佳答案

时间戳是 double 的。将任何将其保存或用作 float 的变量更改为 NSTimeInterval。当你打印它时使用 %f (这实际上是 %lf 因为 C 在作为参数传递时将 float 提升为双倍)。

关于iphone - CADisplayLink 时间戳在设备上表现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com