Hey there guys, I had a pretty dumb question I wanted to ask quickly. Do any of you know if having a ton of lod groups can actually hurt the performance of your game instead of help? I know it sounds silly but I guess I’m just curious. I’ve been told that too much of anything can be bad but is there actually a way to have too many lod groups?
Although I’m not sure how it works, I will just guess. Someone interested can decompile to see how it works under the hood.
It should work only when one of the meshes is visible, so I guess it applies frustum culling to all meshes and having too many meshes may slow down culling that happens before the rendering.
For example, if all objects have 5 LOD objects, it may multiply the culling cost of the camera culling by 5 because there are 5x more objects. I guess this can cause a visible slow down if you have a hundred thousand of objects.
When an object is visible, all LodGroup components would make some calculation by using bounding box size to calculate how large it’s on screen. I think it should be very minor but that depends on how many objects you have.
I think it’s best to group some lods (add one LodGroup to the parent instead of all child meshes), and if possible combine meshes as well.
Increasing object count would also make other codes slower as well. For example Gameobject.Find. Would also increase scene build size and loading time.
There is also cross fading. If you use it, then when transitioning between load levels it will render both.
Of course, the gain is in 95% cases more compared to the cost.
Please correct me if any of these are wrong. I would like to learn more about this as well.