public static void Main()
const double targetFps = 1;
const long targetFpsTime = (long) ((1.0 / targetFps) * 1000);
var appTimeoutTime = CurrentUnixTime + 3000;
while(CurrentUnixTime < appTimeoutTime) {
long startTimer = CurrentUnixTime;
Console.WriteLine("Test");
long endTimer = CurrentUnixTime - startTimer;
if (endTimer < targetFpsTime) {
Thread.Sleep((int) (targetFpsTime - endTimer));
public static long CurrentUnixTime {
DateTime nowDateTime = DateTime.UtcNow;
return ((DateTimeOffset)nowDateTime).ToUnixTimeMilliseconds();