CADisplayLink小知识点获得FPS

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容