public override void Draw(GameTime gameTime)
{
if (gameTime.TotalGameTime.TotalSeconds > (seconds+1.0))
{
fps = fpsCounter;
fpsCounter = 0;
seconds = gameTime.TotalGameTime.TotalSeconds;
allocatedMemory = Process.GetCurrentProcess().PrivateMemorySize64 / 1024f / 1024f;
}
else
++fpsCounter;
renderer.Begin();
renderer.DrawString(font, "fps: " + fps, fpsPosition, Color.DarkSlateGray, 0, -2*Vector2.One,0.4f,SpriteEffects.None,0);
renderer.DrawString(font, "fps: " + fps, fpsPosition, Color.Wheat, 0, Vector2.Zero,0.4f,SpriteEffects.None,0);
renderer.DrawString(font, "frametime: " + gameTime.ElapsedGameTime.TotalSeconds*1000 + " ms", frametimePosition, Color.DarkSlateGray, 0, -2*Vector2.One,0.4f,SpriteEffects.None,0);
renderer.DrawString(font, "frametime: " + gameTime.ElapsedGameTime.TotalSeconds * 1000 + " ms", frametimePosition, Color.Wheat, 0, Vector2.Zero, 0.4f, SpriteEffects.None, 0);
renderer.DrawString(font, "Memory: " + allocatedMemory + " MB", memoryPosition, Color.DarkSlateGray, 0, -2*Vector2.One,0.4f,SpriteEffects.None,0);
renderer.DrawString(font, "Memory: " + allocatedMemory + " MB", memoryPosition, Color.Wheat, 0, Vector2.Zero,0.4f,SpriteEffects.None,0);
positioning = memoryPosition + spacing;
renderer.DrawString(font, "Measures: ", positioning, Color.DarkSlateGray, 0, -2*Vector2.One,0.4f,SpriteEffects.None,0);
renderer.DrawString(font, "Measures: ", positioning, Color.Wheat, 0, Vector2.Zero,0.4f,SpriteEffects.None,0);
foreach (var t in reportedMsecs)
{
positioning += spacing;
renderer.DrawString(font, t.Key+": "+t.Value+" ms", positioning, Color.DarkSlateGray, 0, -2*Vector2.One,0.4f,SpriteEffects.None,0);
renderer.DrawString(font, t.Key+": "+t.Value+" ms", positioning, Color.Wheat, 0, Vector2.Zero,0.4f,SpriteEffects.None,0);
}
renderer.End();
base.Draw(gameTime);
}