DrawMeshInstanced has bad perfomance on some Android devices
I tried 2 different method:
1. Spawn 5k same units with MeshRenderer and same material that support gpu instancing.
2. Draw 5k same units with the same material with DrawMeshInstanced.
Results on modern android devices, pc and editor:
1. 60fps
2. 180fps (3 times faster)
Results on device with Adreno 506 (OpenGL ES 3.2 and Snapdragon 625)
1. 15fps
2. 14fps (Slower! Why?)
I have no idea what cause it. Fps drops, when it should be 3 times faster. Profiler says only that in first case it spends all the time on Camera.Render. And in the second case on GFx.WaitForPresent. Vsync is turned off.
Logically first method has huge overhead, cause MeshRenderer has a lot of work to do, to be rendered, but on some devices it magically better that simple DrawMeshInstanced. So, my questions is: what's going on, any idea?)
Your answer
Follow this Question
Related Questions
Massive Rendering spike in profiler when unloading the scene 0 Answers
GPU spikes in profiler - used to be 100fps, now 30fps? 1 Answer
How to determinate a difference between the 2 RenderTextures? 0 Answers
Android button render issue 0 Answers
Major lag when zoomed in close. Any ideas? (android) 1 Answer