Mobile Textures, reducing cost/shaders
Alright. So I made the mistake thinking that if I set in project settings that I was targeting Andriod, with basically everything set to the lowest settings, and kept mobile stats on, that UE would warn me if I was doing things that the devices wouldnt handle.
I spent a lot time learning to do my landcape and set up the layers. Had ton of problems with things going checkerboard etc. But Finally had it looking great. I did presume the area might be too big, and I might have to reduce size, cut down on details and lighting to get it to run decently etc. So after I had the "level" in place without any characters/npc etc I decided I would attempt packaging just as a test and let my friends side load and see what Happened. (packing failures) In process I learned how to do mobile shader previews, found a lot more mobile documentation than I had seen originally. etc.
After going back into my materials I have set them to "fully rough", activated HDR, and few other settings that I have no idea what they do but, the documentation recommended it for performance. This is what my shader preview look like:
I dont really know WHAT cost is so high. I do understand the instance foliage (not supported according to documents, but I have seen post about it so documents are out dated or there is a work around?)
I did run the level in mobile preview and was very unhappy with how everything turned out. It took an extremely long time to load, with the compiling shaders counting up to about 12,000
(I would appreciate if anyone could explain, does it count UP to how many it has compiled or down by how many are left? I have it count both ways at times and I'm quite confused what's going on.) The building's materials load up, as do my character's. The foliage loads but, only at distance, looking green -yellow for flowers- far away then popping to grey as you approach. The landscape does not load at all. The water (a cube with the material from the water project M_lake applied, loads)
My Landscape is set up like I found for a tutorial (of course mostly meant for PC so i'm sure I have limits not described/addressed). And is set to fully rough in the final material.
All my materials that are plugged into that are pretty basic
An albedo, a normal and MAYBE a couple constants if it was too shinny (plastic grass?!?) and set to wrap. I'm not sure how to make them LESS than this? Reduce cost? Get them to actually show in the ES shaders? There is another texture I will use. Has some values set in the RGB that I most frequently use for metallic and roughness (channel packing if I have done it right) and I will use the SAME texture in all those materials that dont use a constant of 1 or 0 When I run no alerts/warnings. When I compile everything goes fine, with is saying things like 30 shaders on my landscape (and clearly most complicated material since it has FOUR of the other materials put into it)
When I change preview to the mobile shaders, it take about 10 minutes and has to compile about 12K shaders. When I attempted to launch it to my phone, everything LOOKED great at first moving quick counting down from 300 shaders, then jumping to 1K, then 6K then it kept counting up untill it reached 24K. It seemed to freeze there for about 15 minutes. Then loaded up something about a static mesh, that move to 85% in about 10 seconds then froze for atleast 10 minutes (task manager and a process app show it was still doing it's thing with CPU and disk usage still moving up/down)
I gave up around that point. Went to bed. The GPU display looks fine. As far as I know how to read it. But of course that is on the computer, and as far as I can tell the most important materials arent loading at all.
How can I reduce their cost? Get them to actually show on mobile?
asked Jul 11 '18 at 05:27 AM in Rendering
Follow this link for more reading and understanding. Mobile Optimization
answered Jul 11 '18 at 08:39 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here