What textures size do you recommend for android?

In the past i only have dealed with mac or windows standalone way… but i think (is obvious) that for android i must to gain performance lowering textures resolution… but i don´t know a standard value for android…

For mac and pc standalone i have used 1024x1024, 2048x2048…

but i have no idea what size do i must to use for android device…

Think about 5" device, with Mali400 GPU 1Ghz CPU Cortex A9

Thank you.

There is no “must use” texture size, the main rule for this when developing for mobile platforms is to use as low as possible. Make the texture smaller and check when it look good/bad, try to keep it between good and bad(that’s how I do). For character texture I use 256x256, for some scene objects 128x128 or 64x64. Of course, textures like 1024x1024 or more won’t be good for performance :).

2 Likes

ok… i will try with 256 xx textures…

i don´t know, maybe a psycho illusion… on my screen all looks really stretched and blurry with lower textures, but i think in mobil device i will not notice it :stuck_out_tongue:

2 Likes

Don’t expect a pc game quality on mobile platform ;). And by the way, you can use different sizes at the time, not 256x256 for everything. For various objects you can use various sizes.

1 Like

I use texture maps 1024x1024 contains many smaller textures
Complete level is can fit to 1024x1024. it’s good for draw calls.

1 Like

well… finally i have decided to turn high res on… and before building for android, i will lower the textures into the inspector panel…
According to what niko-belic said about texture map (i think you were talking about atlas?), yes… is another good choice…!

1 Like

Yes atlas

1 Like

I second niko-belic. Atlas as much as you can. Individual draw calls on mobile GPUs, relatively speaking, are very expensive compared to desktop GPUs. Atlasing textures allows Unity to batch meshes.

Also make sure you don’t downsample your textures. Downsampling is also very expensive on mobile. (In other words, don’t take 4+ texture pixels to render a single pixel on the screen.)

The size of the texture isn’t technically the issue - memory throughput is the bottleneck. Try using smaller texture formats like RGB565 (full list here: Unity - Scripting API: TextureFormat) which will use half the resources a more standard ARGB32 texture will.

NVidia’s Tegra GPUs handle blending fairly well (at the cost of other trade-offs) but Adreno and Mali GPUs don’t fair so well. Avoid using transparent textures as much as you can. (So if you need the full quality of 8 bits per channel, use RGB24, otherwise RGB565 is a really good option.)

1 Like