internal static void Update(GameTime gt) { Latency = (float)LatencyTimer.Elapsed.TotalMilliseconds; LatencyTimer.Restart(); Delta = (float)gt.ElapsedGameTime.TotalSeconds; if (Math.Abs(Delta) < float.Epsilon) { Delta = 0.1f; } CurrentFramesPerSecond = 1.0f / Delta; SampleBuffer.Enqueue(CurrentFramesPerSecond); if (SampleBuffer.Count > MaximumSamples) { SampleBuffer.Dequeue(); AverageFramesPerSecond = SampleBuffer.Average(i => i); } else { AverageFramesPerSecond = CurrentFramesPerSecond; } TotalFrames++; TotalSeconds += Delta; }