I have a 2D, 3-layered tile-based game with lots (hundreds/thousands) of small 72x72 sprites that are drawn each frame by simply using SpriteBatch. I just tried converting my game to MonoGame from XNA, and while I loved the easy conversion process, XNA seems to deliver better performance. Regardless of resolution (which directly affects the amount of sprites drawn), I seem to encounter significantly lower performance with MonoGame than with XNA. For example, at 1024x768 (resulting in around 15x11x3 = 495 draw calls from the terrain alone) I get over 700 FPS with XNA, but roughly 250 with MonoGame. I’m not using any special effects or shaders, just simply drawing sprites.
Does anyone have an idea what could cause the performance difference, or how could I improve it? The frame rate isn’t really an issue on my machine, but I’d like my game to be playable on low-end laptops and tablets as well.
Oh, and I’m talking about a Windows (non-OpenGL) game project.