mirror of
https://github.com/GayPizzaSpecifications/voxelotl-engine.git
synced 2025-08-03 13:11:33 +00:00
rearrange some sources
This commit is contained in:
20
Sources/Voxelotl/Common/FPSCalculator.swift
Normal file
20
Sources/Voxelotl/Common/FPSCalculator.swift
Normal file
@ -0,0 +1,20 @@
|
||||
import Foundation
|
||||
|
||||
public struct FPSCalculator {
|
||||
private var _accumulator = Duration.zero
|
||||
private var _framesCount = 0
|
||||
|
||||
public mutating func frame(deltaTime: Duration, result: (_ fps: Int) -> Void) {
|
||||
self._framesCount += 1
|
||||
self._accumulator += deltaTime
|
||||
|
||||
if self._accumulator >= Duration.seconds(1) {
|
||||
result(self._framesCount)
|
||||
|
||||
self._framesCount = 0
|
||||
self._accumulator = .init(
|
||||
secondsComponent: 0,
|
||||
attosecondsComponent: self._accumulator.components.attoseconds)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user