dynamic batching vs combining objects into specific drawcalls

I have about 20 trees in a scene. I currently have each branch and leaf as a separate object ( so 2500 objects in total), and they all dynamically batch into one draw call. However I am not sure if this is really a good idea. Would it be better to have 20 drawcalls (combine each tree into one object) or 2500 dynamically batched objects as 1 drawcall? I am thinking it takes more cpu power to actually dynamically batch that many objects into the 1 drawcall then just to have 20 regular. Thank you if anyone knows the better option. Also depth sorting is not an issue as the trees are using cutout alpha so combining into one object wont bring about that problem. I should mention this is for webplayer not mobile too.

Well unless the tree is often in a situation where half the tree is out of view I suppose one mesh should be a bit faster. I know they did a lot of work on dynamic batching but still… :slight_smile:

Fortunately it should be easy to test with the Mesh.CombineMeshes api call.

Thanks for the reply. I tried both and ended up going with a single combined mesh. Performance seems definitely faster in this scenario to just combine the tree into one object. Also this way I can reuse the tree’s lod as a prefab, before each lod object was a unique mesh so there would be no non-uniform scales to make sure the dynamic batching worked but that adds extra memory footprint to a webplayer project.