I'm in the process of making a fighting game similar along the lines of Street Fighter or Mortal Kombat with a friend. Now, each character needs about 180-200 frames of animation. And my friend, the animator, wants 512x512 32-bit colour frames.
I've said this is nonsense. 180 frames at 512x512x4 is the best part of 180Mb. There's no way that would fit into quite a few users' system RAM, let alone their video RAM.
It's got me thinking; as I'm using OpenGL, would there be a huge performance impact if I were to load the sprites into a RAM buffer, and then when an animation was required copy the needed part of the spritesheet into a seperate buffer which would then be loaded into OpenGL? It's the only way I can think of doing it. The problem is that this means copying a whole megabyte into a buffer and then onto the card for EVERY frame EVERY time the animation changes.
Other than chopping down to 256x256 or 128x128 which wouldn't look as clean on a big screen, what else can I do?