Texture compression for Android devices
Hello everyone! When I was building my game I noticed that I got thousands of messages like:
WARNING: DXT texture format is not supported, decompressing texture WARNING: ASTC texture format is not supported, decompressing texture WARNING: ETC2 texture format is not supported, decompressing texture
And it seemed that builder returned uncompressed textures into the build, pumping up the size of the apk. I started investigating into compression formats, how they work and where they are supported, but most of the articles are from 2013 or 2015, and in modern days of technology, 3 years might change a lot.
It seems that DXT5 compression gives best results in my case, but it is written that it's not supported on all android devices, but I've never found any statistics or reports on which exactly. ETC2 is written to be supported by almost all android devices, but also that it doesn't support alpha. Weird to read that in 2018. ASTC seems to give nice results for NPOT (non-power of two) textures, but looks like it also has limited support.
Now, my questions are: 1) What is the current situation with DXT support on Android? I've built my game on MALI-400MP4 (a year 2008 gpu), Mali-T880 and Ardeno 505 - all of them worked fine.
2) Since GPU above worked fine, next question: if the compression is not supported on a device, what happens? Does the texture gets decompressed into RGBA 32 on CPU and then passed to GPU making everything slower, or do I get some kind of graphical glitches?
3) What should I do to ensure the most efficient way to store and process texture data in my mobile game? I know that textures should be in the size of powers of 2, packed in atlases, no alpha where possible and the size should be overridden platform specifically. Is there anything else I can do? Should I use external compressors, and not Unity default? (Since I get thousands of error messages that compression is not supported)
Also, if you have any other general advises, I'll welcome them. Thanks!
P.S.: sorry, website for some reason doesn't save my text formatting, making it all an ugly wall of text