sneak/Shared/FpsCounter.cs
Colin McMillen 096f577e61 change namespace to SemiColinGames
GitOrigin-RevId: 3c4e116e770edfcca7f661b3f0d74bb312aa6a04
2020-02-13 14:48:35 -05:00

24 lines
534 B
C#

using System;
namespace SemiColinGames {
class FpsCounter {
private double fps = 0;
private int[] frameTimes = new int[60];
private int idx = 0;
public int Fps {
get => (int) Math.Ceiling(fps);
}
public void Update() {
var now = Environment.TickCount; // ms
if (frameTimes[idx] != 0) {
var timeElapsed = now - frameTimes[idx];
fps = 1000.0 * frameTimes.Length / timeElapsed;
}
frameTimes[idx] = now;
idx = (idx + 1) % frameTimes.Length;
}
}
}