CADisplayLink小知识点获得FPS

2019-04-29  本文已影响0人  13d8cd576232

CADisplayLink是一个能让我们以和屏幕刷新率同步的频率将特定的内容画到屏幕上的定时器类. iPhone设备的屏幕刷新是60Hz,即一秒60次。

//CADisplayLink
 CADisplayLink * timer = [CADisplayLink displayLinkWithTarget:self selector:@selector(tick:)];
    
    [_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];



- (void)tick:(CADisplayLink *)link {
    if (_lastTime == 0) {//上一次屏幕刷新的时间
        _lastTime = link.timestamp;//屏幕刷新的时间戳
        return;
    }
    
    _count++;//刷新次数
    NSTimeInterval delta = link.timestamp - _lastTime;//获得两次刷新的时间间隔
    if (delta < 1) return;//间隔1秒
    _lastTime = link.timestamp;
    float fps = _count / delta;//fps = 次数/时间间隔
    _count = 0;//置零 重新计算
}

个人博客地址:https://youyou0909.github.io

上一篇 下一篇

猜你喜欢

热点阅读