- Home /
NPOT (Non Power of Two) Textures take a huge space
I have a 1920x1920 sky.jpg background which is only 313KB. When I import it into Unity, it takes up 14.1MB!
If I manually pad the original image in Paint to 2048x2048 (power-of-two), I get a jpg of 386KB (slightly bigger). When I import that into Unity, it takes 2.7MB (still huge, relatively to the original size, but only 19% of what it was before).
The Android apk is 3.4MB smaller, and the app occupies 3.3MB less space on the phone. But this is a fairly ugly technique...
Any idea how to address this issue? Thanks a lot!
If there's no real solution, is there a more efficient method for padding NPOT textures to POTs?
Answer by Eric5h5 · Apr 30, 2015 at 04:31 AM
Unity does not use JPG or other file formats like PNG and so on. It only uses graphics formats that work directly on GPUs, such as DXT. (Also JPG is lossy so you should always avoid that unless you have no choice, such as not having access to the original image.) Read what the warnings tell you about NPOT textures...only POT textures can be compressed if mipmaps are enabled, but there's no reason to use mipmaps for a background texture. If you change the texture type in the import settings to advanced, then you can specifically set the POT behavior (to nearest, to larger, etc.).
Your answer
Follow this Question
Related Questions
Unity 4096*4096 Texture Compression 1 Answer
Assigning UV Map to model at runtime 0 Answers
huge texture problem 1 Answer
Calculating lightmap texel per unit size 0 Answers
Textures being resized 1 Answer