美文网首页
屏幕帧数检测

屏幕帧数检测

作者: bonoCat | 来源:发表于2017-05-31 14:14 被阅读11次

    屏幕帧数检测

    首先说下 CADisplayLink 概念,官方文档中有详细的解析,这边简单的整理下。
    CADisplayLink:屏幕刷新时进行触发

    利用 CADisplayLink 的特性和屏幕一秒刷新60次的概念,就可以利用1秒内刷新次数判断屏幕帧数

    要点一:

        /// NSRunLoopCommonModes 会自动同步所有common模式下的数据
        [_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
    

    要点二:

    
       if (_lastTime == 0) {
            _lastTime = link.timestamp;
            return;
        }
            
        _count++;
        /// 获取的秒,计算时间差,判断是否是1秒内的数据,通过 _count 来计算,正常情况下,count为60
        NSTimeInterval delta = link.timestamp - _lastTime;
        
        if (delta < 1) return;
        
        /// 单位时间内的计数次数,就是fps
        float fps = _count / delta;
        
        /// 数据初始化
        _count = 0;
        _lastTime = link.timestamp;
    
    

    主要代码逻辑来源YYFPSLabel,非常感谢。

    相关文章

      网友评论

          本文标题:屏幕帧数检测

          本文链接:https://www.haomeiwen.com/subject/psfjfxtx.html