Slow Rendering Performance with only 100k Entities

I’ve set up a system that Spawns 100k Entitiy Tiles in a Grid.
That part is working pretty smooth, in the playerloop however the “LocalToParentSystem:UpdateHierarchy” is taking 80-90ms every frame even though nothing is happening in the scene.

Performance should be much better… this is my first DOTS Project and I probably missed something really basic. Can anybody tell me what htis System does and how I can speed the process up? Otherwise I’m in serious trouble: When everything is done there will be 4 to 5 Million objects in the scene (static most of the time).

Using Unity 2020.3.2f1, Entities 0.17, Hybrid Renderer 0.11 combined with URP 10.4.0 (hoping this would be most performant)

Any hint is appreciated.

Best,
-martin

1 Like

If they share same parent - unparent them. Or avoid parenting completely (which is fastest);

Transforms which are attached to same root cannot be processed in parallel by Unity, hence why you’re seeing stalls.

1 Like

Did you mark static tiles as StaticOptimizeEntity component on prefab (if they’re converted from GO) or added Static component to entities (if you create them from code)?

2 Likes

@VergilUa : I didn’t use parenting that I were aware of. My “Prefab” Entities were organized in a Tidy Container in a Subscene so they would be preprocessed. Just to be sure that the copies wouldn’t inherit any parenting I took them out of the Subscene to the root, but this didn’t make any difference.

@eizenhorn : Ah, ok… here goes the obvious thing I missed, thank you. Player loop is down to 5ms. Editor loop still over 40ms running culling jobs but I guess there is nothing you can do about that. I had to add the Static component after Instantiation and Resetting the Position in order to avoid errors. This will be a city builder game, so just a few of thes tiles will updated once in a while. So the most performant approach would be to remove the static component, edit, and reapply the static component. Right?

Thank you both for the quick reply.

2 Likes