Files
SlaveMatrix-SDL/2DGAMELIB/_2DGAMELIB/FPS.cs
lewd-alt 8fb31d38bb linting
removed some dead code and fixed a few bugs i introduced
2025-08-03 13:09:54 -07:00

38 lines
752 B
C#

using System;
using System.Diagnostics;
namespace _2DGAMELIB
{
public class FPS
{
public Stopwatch sw = new Stopwatch();
private long last_frame;
public double Value;
private double ticks_per_frame;
public FPS(double FPS)
{
Value = FPS;
ticks_per_frame = (double)Stopwatch.Frequency / FPS;
sw.Start();
last_frame = sw.ElapsedTicks;
}
public void FPSFixed(Action Action)
{
long current_time = sw.ElapsedTicks;
if (current_time - last_frame >= ticks_per_frame)
{
Action();
Value = (9 * Value + ((double)Stopwatch.Frequency / (sw.ElapsedTicks - last_frame)))/10;
last_frame = current_time;
}
}
}
}