public override void Draw(GameTime gameTime)
{
sampleFrames++;
SpriteBatch spriteBatch = debugManager.SpriteBatch;
SpriteFont font = debugManager.DebugFont;
// Compute size of borader area.
Vector2 size = font.MeasureString("X");
Rectangle rc =
new Rectangle(0, 0, (int)(size.X * 14f), (int)(size.Y + size.Y * 1.3f));
Layout layout = new Layout(spriteBatch.GraphicsDevice.Viewport);
rc = layout.Place(rc, 0.01f, 0.01f, Alignment.TopLeft);
// Place FPS string in borader area.
size = font.MeasureString(stringBuilder);
layout.ClientArea = rc;
Vector2 pos = layout.Place(size, 0, 0.1f, Alignment.Center);
// Draw
spriteBatch.Begin();
spriteBatch.Draw(debugManager.WhiteTexture, rc, new Color(0, 0, 0, 128));
spriteBatch.DrawString(font, stringBuilder, pos, Color.White);
spriteBatch.End();
base.Draw(gameTime);
}