Yea, I'm hearing you guys that vertex arrays are the way to go. I think I tried them long ago, and I forget what but something about them didnt quite work for my scenario. I'll look again.
But as a programmer, I still want to understand whats going on with the sprites.
with pseudocode, here are the 2 scenarios boiled down:
#1:
foreach (var baddie in baddies) {
theOnlySprite.x = baddie.x;
theOnlySprite.y = baddie.y;
theOnlySprite.color = baddie.color;
theOnlySprite.rotation = baddie.rotation;
theOnlySprite.scale = baddie.scale;
window.Draw(theOnlySprite);
}
#2:
foreach (var baddie in baddies)
{
window.Draw(baddie.mySprite);
}
#2 has much less setting of variables and creation of unnecessary new objects. The only downside I can see for #2 is more memory usage (and its hardly any). Its the same number of draw calls either way. But #2 is way slower.