Announcement

Collapse
No announcement yet.

Static Meshes Vs. BSP Percentage For The Sake of Framerate

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Static Meshes Vs. BSP Percentage For The Sake of Framerate

    In my opinion, one of the big things that determines a map's desirability is framerate.


    When I play DM-Outpost23 my framerate, on my modest computer, dips into the mid 20s and sometimes makes it up to 50 FPS in some areas.
    There is literally no BSP in Outpost, and I'm sure that was Epic's intention.


    As I'm working on CTF-Coret...I notice my FPS to be between 90 and 120 in the bare BSP sections, and 85 to 90 in areas with simple wall meshes placed.
    I would say that i'm on my first pass of 3 to 5 passes of "meshing" (also keep in mind that I have no serious lighting yet)


    Would it be desirable to texture the flat walls and supplement/decorate them with trim and other decor?
    Or is it everybody's goal to have no BSP at all?


    Will lighting be a factor on the BSP, as opposed to the meshes?

    I'm lookling for opinions and preferences.


    Discuss!


    EDIT: Also....the only BSP I'm talking about in my maps is simple primitive floors, walls and ceilings.
    Last edited by ~SPECTRE~; 07-02-2015, 05:06 PM.
    Portfolio / DM-Morpheus / CTF-Coret

    #2
    This is something I've been wondering about too.

    I suspect there will be many more maps made in the 2kx style, with BSP for the main geometry and decorated with meshes, than fully meshed maps with a lot of custom meshes. Many of us don't have enough (if any!) experience with 3D modeling programs to produce all the custom meshes needed to fully mesh a map and might not have the time to do it (or learn how to do it) either.

    Regarding performance, this is just speculation on my part, but the biggest thing is probably textures and video card memory... Maps like Outpost have more and better looking materials, which means more and bigger textures. Then add reflections, which means bigger lightmaps (also textures), post processing effects slowing down render times, emitters (more textures) and so on.

    It all adds up, the amount of video memory required to load everything and GPU muscle required to play smoothly just keeps growing as the map becomes more detailed.

    Comment


      #3
      I think polygon for polygon static meshes are more efficient to render than bsp, which is probably why they even replaced the very simple bsp brushwork with very simple static meshes on Outpost. But as MoxNix points out, there's plenty of other stuff in Outpost that increases render times, like all the particles, textures and so on.

      Comment


        #4
        I think if BSP can be lit nicely, I'm going with a 20/80 or 30/70 BSP/mesh ratio. I'll let the frame rate dictate it.


        What makes this difficult is getting to a completed look, and then backing off on decoration. (having optimization already in place)
        So releasing versions is risky as the map de-evolves.


        Maybe the key to it all, is to "finish" the most detailed room you have and test it. :/
        Portfolio / DM-Morpheus / CTF-Coret

        Comment


          #5
          Originally posted by Quotidian View Post
          I think polygon for polygon static meshes are more efficient to render than bsp, which is probably why they even replaced the very simple bsp brushwork with very simple static meshes on Outpost. But as MoxNix points out, there's plenty of other stuff in Outpost that increases render times, like all the particles, textures and so on.

          Agreed. I think there were 600+ decals in the map, unless they have a low impact/cost.
          Portfolio / DM-Morpheus / CTF-Coret

          Comment


            #6
            I'm aiming for good performance on GTX 750 Ti / R 260X on low settings. 2G cards that can be found on sale for around 120 bucks... By the time the game is actually released that might be a little low, maybe GTX 960 / R 280 will be a more suitable target.

            Comment


              #7
              Nobody is going to make meshes fast enough for us. Anybody that knows how to texture or model anything, is either vying for a spot in the game by designing weapons or player models. Or they have no connection to the project, and are charging $60 for their work on the UE4 marketplace.


              I've decided to create a modular mesh farm using the editor, and then kit-bash them for walls, floors and ceilings that need a little more detail.
              Then I'll use Epic's pipes, trim, etc. to fill in the gaps.


              If anybody would want to improve on it professionally...Great! If not I have a temporary solution to progress my maps and something to do for now.
              Portfolio / DM-Morpheus / CTF-Coret

              Comment


                #8
                If you've looked into the RK folder in "meshes" you'll see that epic has turned all BSP into meshes. It's simple low poly flat surfaces. But there must be an advantage to it, except the only thing I'm curious about is occlusion. UE4 uses a line of sight occlusion, run around a corner too fast and you can see distant meshes suddenly appearing, why do they not split up some of these low poly meshes, or is that the fact they're so low poly to replicate BSP that it has no performance impact?

                Comment


                  #9
                  Originally posted by lawlorz View Post
                  If you've looked into the RK folder in "meshes" you'll see that epic has turned all BSP into meshes. It's simple low poly flat surfaces. But there must be an advantage to it, except the only thing I'm curious about is occlusion. UE4 uses a line of sight occlusion, run around a corner too fast and you can see distant meshes suddenly appearing, why do they not split up some of these low poly meshes, or is that the fact they're so low poly to replicate BSP that it has no performance impact?
                  What is the exact path for this folder you speak of? I'm having trouble finding it.
                  Portfolio / DM-Morpheus / CTF-Coret

                  Comment


                    #10
                    The reasons for this workflow varies and all complement each other.
                    - Consider if you have a large flat floor/wall surface that receives shadows. In order to get good shadow casting from other meshes, you'll have to edit the lightmap properties to fit. Now imagine doing this for several different surfaces all over. Lightmaps are easier to manage when you're dealing with combined static meshes (you end up with a lower lightmap size and overall lower file size)
                    - UE4 handles triangle counts much better than previous iterations. However, the occluder starts to chug when there are too many individual parts being occluded. In other words, the reason for seeing large chunks of these meshes as opposed to smaller pieces is to reduce the mesh count which is good for optimization.
                    - Decals don't have much performance impact. At least no more than any other materials. The more complex the decal material is (just like having a complex material/shader) the more performance hit. You can use the shader complexity view(Alt+8) in editor to optimize this - green is good, some red is OK, too much red is not.
                    - The reason for FPS dips as mentioned above can be a lot of things. Number of meshes in view where the occluder has to load in or remove based on what is being looked at, shader complexity, etc. Things popping in and out definitely don't look good, but the popping doesn't impact frames AFAIK. It's better to have some minor popping than bad FPS. So if you have a large open area to mesh, it could be a good idea to combine smaller meshes into a single mesh chunk to reduce mesh count.

                    There are a few other things that you can do to optimize, but can't really go into them. At the end of the day, it all comes down to making smart decisions :-)
                    MyArtstation
                    @jayoplus

                    Comment

                    Working...
                    X