Files
voxelotl-engine/Sources/Voxelotl/FPSCalculator.swift

19 lines
386 B
Swift
Raw Normal View History

2024-08-05 16:44:32 +10:00
import Foundation
public struct FPSCalculator {
private var _accumulator = 0.0
private var _framesCount = 0
public mutating func frame(deltaTime: Double, result: (_ fps: Int) -> Void) {
_framesCount += 1
_accumulator += deltaTime
if (_accumulator >= 1.0) {
result(_framesCount)
_framesCount = 0
_accumulator = fmod(_accumulator, 1.0)
}
}
}