For me, I’m only using spriteBatch.Start()/End() once. Anyway, the best method is writing your own sprite renderer.