Character Texture File Sizes

I’m working on the characters for my game and I wanted to know about how big can the texture file sizes get without a noticeable loss in performance?

Max texture size on the iphone is 1024x1024.

Hey kenlem, thanks for the reply. I meant how many kb should a character texture file stay under? I thought I read somewhere that the iphone can’t handle more than 25mb of textures at a time?

The size of your assets (textures/sound/etc) doesn’t really effect performance that much. Your app may stutter momentarily when large assets are loaded for the first time, but large textures is not going to effect your framerate in any appreciable way after that initial load. The main concern with asset size is that eventually, your poor little iphone will run out of RAM and crash. There is no hard limit to adhere to, and depending on how long the device has been on, the amount of free RAM on a given device can fluctuate pretty wildly, and you can be sure your customers will be all over the map. The goal is not to have <25mb of textures specifically, but rather a reasonable amount of total used memory at any given time - you can see how much RAM your app uses by running it through activity monitor in XCode. Less is more.

I advise people to keep their apps under 35mb of total memory usage - that includes texture, sound, and the unity engine itself. Again, the only way to know for sure how much you’re using is via instruments in xCode - do NOT rely on those bogus free memory apps. Zombieville uses somewhere around 35mb at its peak, has an overwhelmingly positive review average, a microscopic number of crash reports, and between the paid and lite version its been played on well over a million devices, so I’m pretty confident in that number.

Hi PirateNinjaAlliance,

Can you please describe the process or point me to some info on using the Activity Monitor. Is it part of Instruments? When using Instruments to monitor my game are there any other areas that Instruments can help me monitor other than RAM?

Thanks,

Wes

In Xcode, go to the “run” menu and choose Start With Performance Tool > Activity Monitor - this will install the app on your currently connected device if it isn’t already, run the app, and open up instruments on your mac. From within instruments you should see a list of processes running on your device, including your app. You can safely ignore the virtual memory column, real memory is the key thing to watch here.

An empty unity scene clocks in around 10-11mb btw, so don’t freak if your real memory is surprisingly high even for a very simple scene.

UnityUberNoob, sorry to hijack your thread. I was curious about the question in your post as well.

PirateNinjaAlliance, thanks for the quick reply. I was able to get the Activity Monitor working on an test scene. I’ve attached a screen grab of the results. It looks like for this scene the real memory is around 15 MB. I would assume that I am only concerned with my game and the other processes are being used by the phone. Am I reading this correctly?

Thanks!

Wes

Hey guys, Thanks for the info. Real good stuff for a noob like me. Wesm don’t worry about hijacking I really found the information in this thread valuable. I hope other noobs reading this will be encouraged to ask more questions.

Is that anywhere in the docs?

Unity is letting me setup a 4096x4096 texture through import settings, use it in a material, compress it and build it without the slightest warning… the build stats show a compressed 8Mb texture, and the .app built by XCode is indeed 8Mb bigger than usual… but the model appears untextured so I guess the hardware doesn’t know what to do with it :wink: !