I am having difficulty narrowing down why exactly my game is preforming sluggishly on various low to high end android devices.
I can run games like RiptideGP extremely smoothly on these devices, yet my very simple game with less than 10 objects on screen with very low quality struggles to stay above 40fps.
Here’s what it looks like running in the editor on my PC:

Here’s what it looks like running on an Android device in terms of ADB performance logs:
Android Unity internal profiler stats:
cpu-player> min: 18.6 max: 67.1 avg: 37.3
cpu-ogles-drv> min: 1.4 max: 7.9 avg: 3.1
cpu-present> min: 0.1 max: 0.5 avg: 0.1
frametime> min: 22.0 max: 69.8 avg: 40.5
draw-call #> min: 98 max: 105 avg: 101 | batched: 0
tris #> min: 35824 max: 40196 avg: 38488 | batched: 0
verts #> min: 34710 max: 38656 avg: 37049 | batched: 0
player-detail> physx: 0.7 animation: 0.6 culling 0.0 skinning: 0.1 batching: 0.0 render: 29.9 fixed-update-count: 0 .. 4
mono-scripts> update: 0.5 fixedUpdate: 0.0 coroutines: 0.0
mono-memory> used heap: 512000 allocated heap: 0 max number of collections: 1073741824 collection total duration: 0.1
Is there any conclusion that can be drawn from this information?
I’m rendering a scene that contains a 500x500 terrain, 3 models with <1000 verts each, some built in trees and rocks, with a small pool of water.
Am I using too many textures? not enough? is everything scaled too large? too small? Too many tris? too many verts?
I should also say there is not alpha channel texturing happening on the terrain.
Cheers!