I have a game that’s in the works for many years, I started on XNA and the graphics were fully optimized a year ago or so (basically, all the costly stuff were placed in a single texture sprite batch), I’m planning to release it next year and I’d like to use Monogame since XNA is dead for almost 4 years now. Being able to support OSX is also desirable. I’m having some problems though.
On XNA the game runs just fine, I’ve ‘ported’ it to Monogame, the code is almost identical, but the performance hit was considerable. I’ve also tried FNA and although it’s much faster than Monogame it’s still not on the level of XNA, it’s somewhat acceptable though. I read that FNA is better because it uses SDL, is it possible to use SDL in Monogame too, at least on Windows? Or even better, is it possible to achieve the XNA level of performance with Monogame? I already tried the usual suspects, double checking blend mode and making sure the build is on release with optimizations, and all that stuff. So far on FNA I’m having 3/4 of the FPS of XNA and on Monogame I’m having 1/3. I don’t think there’s anything else to optimize really, the game use a lot of sprites in some scenes and that is the problem I think. If I could reach the same performance from XNA I won’t need to change the graphics, but otherwise I will have to think about downgrading them a bit to support more machines. Maybe a low quality option, but I’d just like to extract the raw performance if that’s possible at all, the game doesn’t leave much room for that kind of setting and it’s going to be a pity since the arts were so fine tuned through many years.
I know XNA doesn’t support newer DirectX versions (latest is 9, which is terrubly old), and also it has problems on newer versions of Windows, so I don’t want to use it, but if it’s not possible to achieve the performance on Monogame, is it OK to still release a game using XNA or should I just use FNA perhaps? I’m not sure what are the implications of using either and I guess FNA is more recommended, but it’s still not 100% so if there are no big problems in using XNA maybe I could just use it and if problems appear in the future I could release a Monogame version, hopefully on par in terms of speed.
Any input is really appreciated. Thank you very much
FNA started as a fork of MonoGame that concentrated solely on the three desktop OpenGL platforms and strict XNA 4 compliance. We don’t offer support for FNA here. It has its own support channels.
Latest MonoGame uses SDL2 as well for desktop OpenGL platforms.
@raizam You don’t always have to use Sprite Batch… you can draw your update draw calls anywhere… if you can optimise it that way, give it a go, there are a lot of performance enhancements that you can adapt…