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

19 lines
384 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
2024-08-05 00:08:16 -07:00
if _accumulator >= 1.0 {
2024-08-05 16:44:32 +10:00
result(_framesCount)
_framesCount = 0
_accumulator = fmod(_accumulator, 1.0)
}
}
}