Créer un compteur FPS avec Swift

Code source

FPSCounter.swift


import Foundation

class FPSCounter {
    private var baseTime: Int!
    private var count: Int = 0
    private var fps: Float = 0

    func getFPS() -> Float {
        return fps
    }

    func tickStart() {
        baseTime = timeSince1970Millis()
    }

    func tick() {
        count = count + 1;
        let now = timeSince1970Millis()
        if (now - baseTime >= 1000) {
            fps = Float(count * 1000) / Float(now - baseTime)
            baseTime = now
            count = 0
        }
    }

    private func timeSince1970Millis() -> Int {
        return Int((Date().timeIntervalSince1970 * 1000.0).rounded())
    }
}

Comment utiliser

ViewController.swift



final class ViewController: UIViewController {

    private var fpsCounter = FPSCounter()

    override func viewDidLoad() {
        super.viewDidLoad()
        fpsCounter.tickStart()
    }

    private func hoge() {
        //Certains traitements

        fpsCounter.tick()
        print("fps: \(fpsCounter.getFPS())")
    }
}

Recommended Posts

Créer un compteur FPS avec Swift
Trouver une approximation de cosx avec Swift
Comment rendre une image partiellement transparente avec le traitement
Faites un blackjack avec Java
Essayez de faire un programme d'addition en plusieurs langues
Divide devient 0 dans Swift
Tableau multidimensionnel dans Swift
J'ai essayé de faire une demande en 3 mois d'inexpérimenté
[swift5] Essayez de créer un client API avec différentes méthodes
Créer une application de clonage Instagram ④
Refactoring: faire du Blackjack en Java
Créer une application de clonage Instagram ②
Photothèque avec Swift UI
Créez une application Android. (Jour 5)
Créer une application de clonage Instagram ③
Créer une application de clonage Instagram ①
Swift: un piège pour définir plusieurs éléments initiaux dans un tableau