I have a existential question this time.
I am working in a huge scene, and I am using LODs everywhere, but I have some small jumps, everything in logs is related to stalls in threads, I cannot figure where is the real problem.
I know I have to improve meshes and shaders, but is there a possibility that all this massive LOD use are a wrong thing, instead of good thing? Almost every model has 7 LODs.
I’d like to know some insights on this topic as well. I do see having more LODs makes sense for larger assets that do occupy a lot of screen space… eg landmarks or other often visible geometry. For smaller assets having 7 does not make sense… If you are using auto generated LODs there are settings you can chose what kind of asset that is, eg small asset, large asset etc and it will adjust number of LODs generated and screen size for them. You can edit this preset in INI I think.
There is one good general rule of thumb: Fastest rendered triangle is the one you do not render… :rolleyes:
LODs take memory, both in terms of ram and disc size. But a lot of LODs is still generally good. Though as Vertex said, the smaller your object is the less LODs it will need. A rule of thumb for them is that as long as the average poly takes up just a bit more than the average pixel in terms of screenspace size you’re doing well.
What percentage reduction you use per lod level.
We use 60% reduction of triangles per lod and we use as many lod’s to get model to 64-128 vertice range.(depending on GPU it does not benefit to go lower anymore) Most of the time we have base model and 5 lods. So lowest level lod have about 1% of original model triangles. These lod’s use memory of 0.4 + 0.4^2 + 0.4^3 + 0.4^4 + 0.4^5 = 0.65984. So 66% of original model. Adding 6th lod level would cost only 0.4% of original model memory.
There is a point where having more LOD’s in your model will actually hurt performance than help as you need a lot of extra memory to store all of that data. What you should be being is making sure that each LOD is going to remove as many triangles as possible while still keeping the silhouette of the mesh intact. You generally want to reduce by 75% 25% and 12% this way you are reducing as much as possible without wasiting memory by having LOD’s that do not really do much in terms of reducing triangle count.
Oh, I see thank you very much, you might include that in the documentation, the docs only says how to create them, and not the implications, btw I found my problem, some guy in my team pasted lots of stuff just as static meshes instead of foliage or instances, my draw queue was BIG!