Home Technical Talk

LODs - Does the number of LODs impact performance?

polycounter lvl 19
Offline / Send Message
TorQue[MoD] polycounter lvl 19
I just installed Simplygon for UE4 and I'm wondering if the number of LODs impacts performance? I'd imagine that it would as the engine has to handle the loading and unloading of each detail level but I'm not sure how much of a performance impact this would have. Is it better to just go with two LODs, one for close up and one for far away or ?

Would love to hear your thoughts on the subject.

Replies

  • rollin
    Options
    Offline / Send Message
    rollin polycounter
    I'd say this is always up to testing. Bc your ideal count is somewhere between 0 and infinite you have to balance two (main) factors:
    1. Reduce Polygone / Texture budged on screen
    2. Don't reduce visual quality

    You have to understand that your model (whatever LOD-level it is) is only at a certain distance perfectly using its budgets. If it's closer to the screen as the "sweet-spot" it starts to show it's made out of edgy polygones and blurry textures and if it's further away you're wasting quality.

    Of course every LOD adds a bit of overhead - ingame, on disc and in your work schedule. But this overhead should be outweighed by the pros. If not you have too many LODs.

    If you just have a billboard it might be OK with two LODs.. but for bigger and more complex models you might need 4 or 6 levels.
    Simply create an area with hundreds or thousands of instances of your lodded model and then test it out...
  • TorQue[MoD]
    Options
    Offline / Send Message
    TorQue[MoD] polycounter lvl 19
    Thanks for the detailed write up rollin,
    I decided to go with 3 LODs, one at 100% one at 50% and one at 25% and then I used manual screen size settings to determine when the transition should happen and it seems to have worked great. Got about a 20 frame boost in most areas of the level so I guess whatever cost of transitioning to the different LODs is negligible if it boosted my FPS so much.
    Man is simplygon a fantastic tool though. So glad Microsoft bought them and made it available for free!
  • Mark Dygert
    Options
    Offline / Send Message
    Yea simplygon is great. Hands down best LOD tool out there.

    The thing that impresses me the most is that it handles doing LODs on skeletal meshes and it can respect/preserve morph targets on those skeletal meshes. So lets say you have a morph target that makes your character obese, that shape holds up through the LODs. 

    The skinning preservation is no joke either, fan-fucking-tastic.

    It is also amazing at texture merging which helps reduce draw calls.

    Also map LOD's in Unreal and level streaming... wow...

    But back on track.
    The rule of thumb I use is that each LOD should be roughly half of the previous LOD, so 100, 50, 25 is a good place to start, but I often find that I can go even lower depending on the asset and how it is used in the map. A lot of assets I've been crunching lately have been 100, 30-35, 10-5 so while it takes some extra time to tune each asset it really helps to squeeze as much out of each as you can. Because of the amazing way it handles textures and normals you can get a lot out of each step.

    You can also have steps closer together at the high end and be aggressive about LODs on the lower end so it quickly LODs as soon as you step back. You want that transition to be fairly smooth so you might go 100, 75, 25. A decent example is something like a keyboard with all of the keys modeled, it might be important for in-game cinematics that show hands typing. 

    I also like that you can reassign LOD1 as LOD0. Quite a few times I've crunched an asset looked at 75% and decided that is my new LOD0. Of course that isn't a model I would want to actually work with in Maya or Max but it's great that it can pump it out and reduce all assets right off the bat.

    Great tool, I love it, I'm so glad its free... I hope it sticks around and they don't twist it's team to focus on something else.
  • LeandroKanishka
    Options
    Offline / Send Message
    Hi Mark, im using UE4 4.17 and when i use Simplygon to build lods, my morph targets  dont work anymore.  Only works in lod 0,  any advice or technique to preserve in the other lods?
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    You'll need to make morph targets for your LODS 
  • Mark Dygert
    Options
    Offline / Send Message
    "Simplygon allows doing LODs for a SkeletalMesh which has MorphTaget set up. This works only for Reduction LOD type due to restrictions provided by Remeshing technique - it will drop morph information from LOD entirely."
    Taken from the Simplygon official documentation : https://account.simplygon.com/externaldocs/UE4HTMLDocs/technical-details.htm

    You don't have to make the morph targets by hand, you just can't use the remesher feature.

    Remesher has some sexy features, like rebaking and repacking textures as well as recreating normals but it won't preserve morph data. If you stick to reduction, it works with morphs.

  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    Wow,  alright then.  I'm impressed 
Sign In or Register to comment.