I’m making a project for Android, I’ve tried everything I know and still the game doesn’t get over 20FPS on my Samsung Galaxy Tab 3 (which can run more demanding games decently).
Here’s what I’ve tried:
Gone to Edit> Project Settings > Quality > Fastest for Android. However I do need full texture quality.
Set my only light (directional light) to BAKED. All the lighting is baked.
Set rendering path to Forward.
Optimized my scripts to use as few Update() as possible. However the game still is under 25FPS even with all scripts disabled. My scripts on average use less than 7% of the processing power (data from the profiler).
Refraining from using mesh colliders. The ONLY time I have mesh colliders is on some static objects in my map.
Camera.Render is taking 80% of my resources. 48% Drawing, 25% goes to Culling. Inside drawing, 37% goes to Render.OpaqueGeometry. In Culling, 15% goes to Terrain.Heightmap.RenderStep3
What can I do to further optimize the camera’s drawing? I’m glad my scripts aren’t the issue as that’s (for me) the hardest part, but now I’m having massive issues with a relatively simple game.
I’m using Standard Shaders and Mobile Unlit Shaders. All I have in my scene is a terrain and about 10-20 models of dinosaur bones (for decorative purposes).
Are you 100% sure the scene is using baked lighting?
1.) Try changing all standard shaders to mobile shaders. Build
2.) Try turning off shadows on your light, and changing all your standard shaders to use mobile shaders. Build
If that makes a difference your scene is probably not baked properly.
I turned off all shadows, then went into the Terrain settings and drastically lowered the quality there of the terrain. Now it runs over 50 FPS on a pretty bad device. Not sure what did the trick but it works now!