So I’m working on a small mobile game where you have to mow all the grass.
when I play on mobile the performance aren’t that good (profiler says around 15/20 fps)
this is because of all the grass of course. 1 “square” of grass contains 14 grass objects all with a box collider (and Mesh Renderer etc). But my question is how can I get the same result (when the mower touches the grass it disappears) but with better performance? I’ve already disabled the shadows in the mesh colliders (cast shadows, receive shadows) but I’m not sure what to do else. Anyone got some ideas pls let me know!
I have run the profiler again the one that seems to take the most “performance” is Semaphore.WaitForSignal
it takes about 90% of the 100%. any idea what this could be? (the picture is taken on a peak tho)
When I’m not on a peak the game has around 25/30 fps. the most % is then at BatchRenderer.Flush (contains all of the grass fields)
Please let me know if you have any tips/ideas on how to make the performance better! Thanks!
Semaphore.WaitForSignal means the time is spend on another thread. The parent sample usually is a good indicator of where to look, in this case GfxThread means Render Thread.
Check out Timeline view and consult the profiler documentation which contains a list of such common samples, that should help you get a first handle on what is going on.