This may be kinda simple but i'm having some trouble here
I'm building for a large range of devices (starting with a iPhone 6 with A8) to most recent devices. And the last time i've made a build to iOS was like.. 2013, and i used ETC2 to compress my textures, wich don't exist anymore on unity.
Now i'm making a simple VR, with no interactions, just a camera travel with a few animations.
My main concern is about the size and performance to achiev the framerate i need and get rid of some ghosting.
already got rid of all the lighting information i could (using a single light source on each scene, and baking as much info as i can) and all the geometry i could dump (i don't know what would be a reasonable limit for geometry here but i barely reach 15k and i oclude the scene).
And now i need to know:
how do i compress my textures... i mean... i'm no expert, and i'm doing what i can to get this thing done...
i have PVRTC wich seems to me ugly as hell but better on performance, and ASTC wich seem a little better, but makes the textures twice the size...
also, i don't know if i leave normal maps with alphas (do they need the alpha chanel?).
please someone help me here...
Replies
You could probably bang in some more tris as well, on Samsung Gear we've ran VR apps with ~90k tris quite successfully. But yeah - as few RT lights as possible.
Use PVRTC
Don't include the alpha channel unless you need it (affects compression quality)
Adding a bit of subtle noise can actually improve PVRTC
Always use best compression option
Turn off mip-mapping if object isn't moving towards/away from you, this will save 30% of memory
Turn off the read/write flag on the texture will cut the memory used in half (do this when you have your art locked down)
You can try https://community.imgtec.com/developers/powervr/tools/pvrtextool/ for compression but I honestly found no improvement over best option in Unity
You can also turn off the read/write flag to cut the memory used on meshes in half (be aware that after turning it off requires a manual refresh to update each texture)
You need to profile on device through XCode to get an accurate picture of what is causing your problems.
thanks !!