Machen Sie mit Swift einen FPS-Zähler

Quellcode

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())
    }
}

Wie benutzt man

ViewController.swift



final class ViewController: UIViewController {

    private var fpsCounter = FPSCounter()

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

    private func hoge() {
        //Einige Verarbeitung

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

Recommended Posts

Machen Sie mit Swift einen FPS-Zähler
Finden Sie mit Swift eine Annäherung an cosx
So machen Sie ein Bild mit Processing teilweise transparent
Machen Sie einen Blackjack mit Java
Versuchen Sie, ein Zusatzprogramm in mehreren Sprachen zu erstellen
Teilen wird in Swift zu 0
Mehrdimensionales Array in Swift
Ich habe versucht, innerhalb von 3 Monaten einen Antrag von unerfahren zu stellen
[swift5] Versuchen Sie, einen API-Client auf verschiedene Arten zu erstellen
Erstellen Sie eine Instagram-Klon-App ④
Refactoring: Machen Sie Blackjack in Java
Erstellen Sie eine Instagram-Klon-App ②
Fotobibliothek mit Swift UI
Erstelle eine Android App. (Tag 5)
Erstellen Sie eine Instagram-Klon-App ③
Erstellen Sie eine Instagram-Klon-App ①
Swift: Eine Falle zum Festlegen mehrerer Anfangselemente in einem Array