Announcement

Collapse
No announcement yet.

Are LODS really worth the effort, large polygon models?

Collapse
X
Collapse
First Prev Next Last
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Are LODS really worth the effort, large polygon models?

    For some time now, years in fact, I have experimented with larger and larger models for Open Rails. Often many approach 100K+ polygons. In the old days with MSTS, where polygon count was much lower/smaller we could often use PolyMaster to create LODs. But this only worked if you had NO subobjects in your unLODed exported model.

    If subobjects came into play you had do the hard work of creating LODs inside your modelling program by either deleting polygons or reducing polygons for any given LOD.

    But as models get bigger and bigger, I start to wonder about the size of the exported model with multiple LODs, not to mention the effort given to culling/reducing the number of polygons. Essentially the more LODs you have, the size of the exported model is going to increase, and this will be substantial if the initial LOD has many polygons because of all the detail that you want close up to the model in question. At runtime, your model without LODs had for example 100k polygons to load up into the sim. But if you append LODs to that model, you might be easily loading 200K polygons in total. This consumes more resources at runtime, including the time to load that model and the memory it occupies.

    Given the understanding that at runtime it is desirable from a performance perspective to have less polygons to display with distance, and hence the value of LODs, I think this is only really worth the effort with a model that is already much smaller than 100k polygons in the first place. LODs might be worth the effort for something like an engine, as culling things that might be polygon intensive close up, can be removed at distance without much visual impact. Short of reducing that engine to a simple box(!), the exported model will consume a lot of resources if LODs are included.

    With things like rolling stock, I am not sure what to do. You can remove couplers, maybe reduce the number of polygons in your trucks/wheels, but the basic shape needs to be visible for quite a distance. That means your exported model will have a higher polygon count with LODs attached at runtime.

    For fun I just reduce the number of wagons in consists, especially if they are varied, that means NO duplicates in the consist. This helps with performance in the sim. It also means the only way to "enjoy" 50-100 wagons attached to an engine is for ALL those wagons to be exactly the same. That wears thin pretty quickly from a visual perspective, IMHO.

    I have often wished that for OR specific use, that a method be available to somehow allow for the subtraction of items in the hierarchy in the matrix section of the shape file so that at runtime extra explicit LODs would not be required. You would construct your model with this in mind such that a small text file would indicate what items in the matrix of the shape file should be displayed for a given distance. This would insure that your exported model size would stay at the SAME size for the first LOD, eg 2000 meters, regardless of how many distance levels you decided to have with NO increase in the exported model size required. It also means at runtime your 100K+ polygon model would only be seen/calculated up close, and less polygons would be displayed according to your wishes without the need for more polygons to be attached to your exported model for each LOD you appended. Perhaps the drawback would be MORE draw calls when up close, but those draw calls would be subtracted the farther away the model was in your field of view, this would be especially convenient for rolling stock, where with a 100 plus wagon consist you could shed many draw calls, hence improve performance in the sim without having to increase the loading/memory use that LODs demand..

    Sorry for the ramble, but for the experienced modellers in this forum, what are your thoughts?

    Thanks,
    Steve

    #2
    For me, after testing my models on my route with my computer hardware I can gain a few FPS on top of the 120 FPS I get without LOD. Is it worth the effort? Probably not but I still add them.

    Cheers,

    Marek.

    Comment


      #3
      Most of my models are architectural and I add a lot of 3d details to those buildings close to tracks. I also set my view distance to 10,000m. Given that combination it makes sense to me to add LODs.

      In general I use the rule that for standard HD screens that 1 inch becomes 1 pixel before 125m distance and then disappears at 125.0001m; Anything that's 2inches wide gets a LOD of 250m, 4inches gets 500m, a foot goes at 1500m. That often reduces the poly count by 75-80% and for HD screens, no winking when LOD's kick in.

      When a model is particularly large I will investigate the feasibility of breaking up the model into their own model and so long as the separate models use the same origin point placement is trivially easy. What I don't want to do when breaking up a model is have a texture appear in more than one model as that adds draw calls and that is what I'm most concerned about.

      It might be worthwhile to figure out what happens inside OR when you use .fa models -- are the LOD's contained in the .fa or has everything been merged into a single .s file inside of OR?
      Dave Nelson
      sigpic
      Seldom visiting, posting less often that that.

      Comment


        #4
        I feel this LOD stuff is a lot less important than it used to be.
        http://www.railsimstuff.com
        Just Blender now, 3DCrafter only when I have to.
        formerly The Keystone Works (All Permissions Granted)
        https://github.com/pwillard/MSTS-replacement
        sigpic

        Comment


          #5
          I prefer not having LODs. That's just my particular simming style.
          I fully appreciate the people running multiple long trains at once, especially those using detailed routes.
          Best approach to me would be a check box under the video tab in the OR options menu to turn 'em off.
          Computer power is expensive.

          Randy

          Comment


            #6
            I've never bothered with LODs either.

            In the days of 486 and Pentium chipsets, it mattered. With the I series and newer AMDs, not so much.
            If you like what you see here at Trainsim.com, be it the discussions and knowledge in the forums, items saved in our library or the ongoing development of our TSRE Fork, I hope you'll consider a paid membership to help support keeping the site operating.... Thanks!

            Comment


              #7
              Hi Folks,

              I did fairly extensive testing with 100 car freight trains on Elvas a few years back (Freight Car Forum) - the test car was my own model - the introduction of LOD's did offer a - significant - improvement over those without. I actually posted frame rate gains and documented everything I did. Limiting Draw Calls also significantly improved frame rates as well. I use both methods on models that will have many instances in any given scene.

              Regards,
              Scott
              <a href=https://www.trainsim.com/forums/filedata/fetch?filedataid=80663&type=full title=thumb_80663.png >thumb_80663.png</a>​ My Blender Models

              Comment


                #8
                Maybe on wagons and locomotives it's worth it, but for static buildings?
                If you like what you see here at Trainsim.com, be it the discussions and knowledge in the forums, items saved in our library or the ongoing development of our TSRE Fork, I hope you'll consider a paid membership to help support keeping the site operating.... Thanks!

                Comment


                  #9
                  Originally posted by eric View Post
                  Maybe on wagons and locomotives it's worth it, but for static buildings?
                  Hi Eric,

                  Yeah - I've never done any testing with large individual building objects - so I'm no help with that.

                  Regards,
                  Scott
                  <a href=https://www.trainsim.com/forums/filedata/fetch?filedataid=80663&type=full title=thumb_80663.png >thumb_80663.png</a>​ My Blender Models

                  Comment

                  Working...
                  X