How to optimize IPA package size?

My WP7 game XAP package is about 50 MB big. After I ported it to iOS, the IPA package went all the way beyond 200 MB. I tried using indexed colors for some less important textures but that didn’t help much.

My guess is that it has something to do with compression – the IPA package size is about the same as that of the Content folder. On the contrary, the WP7 version’s Content folder is about 150 MB while the XAP package is only about 50MB. =(

Is there any possibility that I reduce the IPA package size by 50% at least?

Try building an ad-hoc or app store package. Those are compressed and should have the size of an XAP package.

If that’s still not enough, you can build PVRTC compressed textures for iOS. It has a great compression rate but produces artifacts that might be annoying on some textures.

Thanks Nezz! Actually I came across an article that could be helpful:

I used the “version 3” way in the article to load textures directly from png files. This method can greatly shrink down the Content folder size. Unfortunately, textures loaded from png files sometimes won’t be drawn correctly (it is very random and I couldn’t figure out why), so I only use this method for some unimportant textures (I was using DxtCompression for those textures in the XNA version). Through this way I managed to make the app size down to around 160 MB.

And yes you are right, the IPA package is actually much smaller (about 65 MB). :wink: It is still beyond the 50MB limit, but I guess I will have to live with that…

Personally I’m not a fan of loading PNGs as it is the slowest method for us, while XNB loading is much faster. That article is quited often, but I couldn’t reproduce anything like those numbers with a Lumia 800. You can use PVRTC instead of DXT if you want to.

Don’t worry abou the 50MB limit, it’s now 100MB :slight_smile: