A common technique when you’re trying to squeeze as much performance as possible out of your game is to half the size of certain images then scale them back up at runtime. However there is a slight variation on this approach that could give you the saving you’re looking for without compromising the final render quality of your image so much.
Half Images Along a Single Axis
Sure it makes a lot of sense to half the size of large sprites. It’ll save bags of memory and the GPU won’t be under as much stress. While the image quality will suffer, most users won’t notice the reduction so long as the sprite isn’t something they’ll be staring at for long periods of time.
Source image on left. Compressed image in centre. Final result on right.
If however you do feel the reduction in image quality is too noticeable then try only halving the sprite’s bitmap in size either horizontally or vertically. Then at runtime, scale the sprite back up along that axis.
You’ll find that each axis will give a slightly different result in terms of quality. Depending on the actual source image, one axis might give a better result than the other: you may find that one axis gives a sharper edge whereas the other may give a blurrier edge but retain more detail elsewhere. Either way, you’ll save a huge amount of memory by doing this and I guarantee you’ll be amazed at just how well these images hold up in-game.
Spend some time evaluating both results and then pick the version that best suits your needs. Oh, and if you can get away with it, half your images on both axes for optimal memory consumption and performance.