title: Monogame rendering text using Graphics.DrawString (instead of SpriteBatch.DrawString)
body: <p>Is there any downside to using <code>Graphics.DrawString</code> to render a (rather static) bunch of text to an offscreen bitmap, convert it to a <code>Texture2D</code> once, and then simply call <code>SpriteBatch.Draw</code>, instead of using the content pipeline and rendering text using <code>SpriteFont</code>? This is basically a page of text, drawn to a "sheet of paper", but user can also choose to resize fonts, so this means I would have to include spritefonts of different sizes.</p>
  
  <p>Since this is a Windows only app (not planning to port it), I will have access to all fonts like in a plain old WinForms app, and I believe rendering quality will be much better when using <code>Graphics.DrawString</code> (or even <code>TextRenderer</code>) than using sprite fonts. </p>
  
  <p>Also, it seems performance might be better since <code>SpriteBatch.DrawString</code> needs to "render" the entire text in each iteration (i.e. send vertices for each letter separately), while by using a bitmap I only do it once, so it should be slightly less work at the CPU side.</p>
  
  <ol>
  <li>Are there any problems or downsides I am not seeing here?</li>
  <li>Is it possible to get alpha blended text using spritefonts? I've seen Nuclex framework mentioned around, but it's not been ported to Monogame AFAIK.</li>
  </ol>
  
  <p><strong>[Update]</strong></p>
  
  <p>From the technical side, it seems to be working perfectly, much better text rendering than through sprite fonts. If they are rendered horizontally, I even get ClearType. One problem that might exist is that spritesheets for fonts are (might be?) more efficient in terms of texture memory than creating a separate texture for a page of text.</p>