美文网首页
屏幕帧数检测

屏幕帧数检测

作者: 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