swift-测试帧数

测试iphone的帧数,笔者练习swift写的,

[源码demo](https://github.com/AblerSong/FPSDemo)
import UIKit

class FPSLabel: UILabel {

    private var link:CADisplayLink?
    
    private var lastTime:NSTimeInterval = 0.0;
    
    private var count:Int = 0;

    override init(frame: CGRect) {
        super.init(frame: frame)
        
    
        link = CADisplayLink.init(target: self, selector: #selector(FPSLabel.didTick(_:)))
        link?.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes)
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    deinit{
        link?.invalidate()
    }
    
    func didTick(link:CADisplayLink){
    
        if lastTime == 0 {
            lastTime = link.timestamp
            return
        }
        count += 1
        
        let delta = link.timestamp - lastTime
        
        if delta < 1 {
            return
        }
        
        lastTime = link.timestamp
        
        // 帧数========>可以自己定义作为label显示
        let fps = Double(count) / delta
        
        
        count = 0
        
        text = String(format: "%02.0f帧",round(fps))
        
        // 打印帧数
        print(text ?? "0")
        
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,755评论 4 61
  • 魏文晶 一场春风过后,小区里的丁香花,静悄悄地开放了。 那或淡紫或纯白的花朵别致地组成了一大簇花团,...
    魏文晶阅读 2,795评论 0 1
  • 最近心里总是难过——异地恋太磨人了。 他是我QQ里添加的第一批好友。我们开始聊天,他叫我“丫头”。他问我的名字,我...
    逸黎阅读 1,670评论 0 3
  • 雨雾中的寒凉,冷了思念的藤。羞红了她的枝叶,僵冷的面庞呆滞的挂满泪珠儿!秋就这样来了!带着冰冷、严肃和不容商量的古...
    绿水人家a阅读 1,396评论 2 7
  • 我,无名无状,微乎其微,我存在与浩渺间,人类的肉眼凡胎无法窥探我的样子,我本没有名字,人类却通常称呼我为‘欲望...
    十三楼月阅读 5,171评论 8 45

友情链接更多精彩内容