Tasharen Entertainment Forum
Support => NGUI 3 Support => Topic started by: NaxIonz on June 24, 2014, 10:52:05 AM
-
What's the recommended texture compression for UI textures/atlas?
Right now we only support Android, but will be adding iOS support in a few months. As you can tell in the attached image, we're chewing up some serious memory, which can limit the number of low-end devices we can support.
-
32 MB implies 4096x2048xtruecolor, or 4kx4kx16bit. That's likely not going to work on older mobile devices.
Generally, you should move BIG textures out of the atlases and make them power of two and compress if possible - this is largely an evaluation of the visual artifacts that are made from the compression, so it's hard to say anything. Do note that Unity just uses 16 bit as "automatic compression" for android because different graphics chips handle it differently. This sucks, but is hard to work around. For iOS there's only PVR compression or true color as real alternatives.
Generally, try to keep your atlases at 2048x2048 and everything bigger than ~500px, move out of the atlas.
-
Okay, that's good stuff to know.
I also just quick tested changing all our UI textures to RGB/A Compressed PVRTC 4 bit
The result was... not expected. According to the RAM manager on my Note 10.1 tablet, the game went from 199MB usage up to 214MB.
-
The Note 10.1 runs the ARM Mali GPU ( http://en.wikipedia.org/wiki/Mali_(GPU) ) which does not support PVR I believe. Try using one of the other compression formats: for instance ASTC which it seems it supports http://malideveloper.arm.com/develop-for-mali/features/mali-texture-compression-tool-with-astc/