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")
        
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,232評論 4 61
  • 魏文晶 一場春風過后,小區里的丁香花,靜悄悄地開放了。 那或淡紫或純白的花朵別致地組成了一大簇花團,...
    魏文晶閱讀 352評論 0 1
  • 最近心里總是難過——異地戀太磨人了。 他是我QQ里添加的第一批好友。我們開始聊天,他叫我“丫頭”。他問我的名字,我...
    逸黎閱讀 230評論 0 3
  • 雨霧中的寒涼,冷了思念的藤。羞紅了她的枝葉,僵冷的面龐呆滯的掛滿淚珠兒!秋就這樣來了!帶著冰冷、嚴肅和不容商量的古...
    綠水人家a閱讀 166評論 2 7
  • 我,無名無狀,微乎其微,我存在與浩渺間,人類的肉眼凡胎無法窺探我的樣子,我本沒有名字,人類卻通常稱呼我為‘欲望...
    十三樓月閱讀 1,325評論 8 43