Exemplo n.º 1
0
        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;
        }