Why PSM port is so slow ?

Hi !

I recently did some tests with the PSM port of monogame and everything is working fine (including my engine and my game). The problem is it’s extremly slow ! Monogame seems to start lagging after 400 draw calls. Sony Spritebatch demo supports 4096 sprites without even a frame drop. I don’t understand why monogame is so laggy. I want to help but if someone can explain me what is actually wrong, it would be helpful.

I suspect it has to do with the rather dumb combined vertex and index buffer type within the PSM API. This causes a proper API like in XNA or MonoGame to jump thru extra hoops to make it seem like vertex buffers and index buffers are interchangeable. See…

https://github.com/mono/MonoGame/blob/develop/MonoGame.Framework/Graphics/GraphicsDevice.PSM.cs#L231

The PSM demos don’t have to jump thru these hoops.

It is telling that this is the only platform where we have this problem.