Announcement

Collapse
No announcement yet.

Speedtree rendering problems

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

    Speedtree rendering problems

    I have done a few tests for performance on speed trees due to lag and have come to some various problems with them. Problem one is when trying to cull trees at a distances via max draw rate or using a volume they appear to be culled while playing the game but have no fps increase at all. I verified this by having all the trees in a map being drawn and taking the fps reading, then having only 1-2 trees drawn and the fps reading is exactly the same. Also, I did the same experiment with static mesh trees and the fps does increase with culling. Problem two; taking into account all the trees set up as billboards only no 3d I took a fps reading. Next, I decreased the texture size down to 32x32 for all the billboards and the fps reading was exactly the same with no improvement. Is there any way someone can look into these issues and/or give an explanation to what is going on here. Thanks.

    #2
    bump... anyone with some info on this please?

    Comment


      #3
      Are you manually placing the meshes? Or are you distributing them by deco or foliage layer? Make sure that you have all of the LOD settings of the trees set up properly. There are additional settings for LOD in both Deco and Foliage layer properties. Speedtree was killing performance on my set up, until I figured out LOD settings.

      Comment


        #4
        I have been fooling around with speedtrees recently as well and have run into some of the same issues.

        Have you set Lod Level Override to -1 so that the LODS /Billboards will be used
        You can also try changing the LOD level starts.

        Other than that you should be seeing an fps increase as you get far away.

        If you type in STAT ENGINE you should be able to see the number of tris decrease as you get farther away.

        Comment


          #5
          Yes, lod's are setup correctly ( -1 ) verified in wireframe mode. I have even tried with all billboard's no 3d and all 3d. The tris for speedtrees appear to be under static_mesh_tris counter using STAT ENGINE. I verified this by placing 3 trees in a line in a test map with 32tris static and setting the draw distance very low. As i draw each tree tris increase correctly. Now if look at the counter in a full map it also does change depending where my view is or how many trees are culled out. The problem is even if i set the max draw distance to say 1-100 so only close trees draw or none there is no fps increase standing in the same exact spot looking same direction before culling. If I delete every tree in a map the fps does increase. To me it seems like the trees are being drawn no matter and that is a major problem. You may not see them in front of you but they are being rendered. If that's the case are billboards even working right; meaning if you have lod's setup so everything is a billboard, zero 3d; is the full 3d, wind animation, etc. still being rendered behind the scenes???

          edit.. yes they are being manually placed but have tried other ways as well

          Comment


            #6
            That would definitely have a huge impact on performance if they are still being rendered behind the scenes.
            I will see if i can reproduce the same thing tonight and let you know how it goes.

            PS. I also noticed something else. If i have just a single billboard being rendered without dynamic lights the triangle count says 2 which makes sense. As soon as i turn on dynamic lighting the number of tris being rendered shows 10. I'm wondering why that is. Same thing happens on static meshes.

            Comment


              #7
              Interesting, I will continue testing; thanks for the help.

              Comment


                #8
                Dynamic lighting requires the scene to be rendered several times to reproduce the shadows. You generally get a 2x-3x increase in triangles and draw calls. By baking in your lighting and using fully static shadow casters, you can maintain that 2-poly draw count in-game.

                As for the tree LOD issue, i'm stumped. I have levels with thousands of speed trees and without proper LOD they just don't run, but if I set it up correctly, they run as expected.

                Nobody has asked this yet: What UDK build are you using? Builds from earlier this year (Before May, I think) had some serious issues with speed trees and LOD.

                Also, I think there are some limitations to the Speed Tree LOD system in the UDK. For instance, i'm pretty sure you can only set a single LOD state (in speed tree you can have several) other than the full res version. If you have more than this, you get popping and other strangeness.

                Also, are you getting the LOD blending to work correctly in your scene? IE, does it scale and fade from one LOD to another, or is everything 'popping' as you move about?

                Comment


                  #9
                  I am using September build. LOD blending works fine in how they switch etc., culling does not. If I overload a scene with thousands of the same static mesh until I get very low fps like 15 and make the max draw distance low so it only draws a few modesl fps goes up to 50-60 as expected. If I do the same with speedtrees I get no noticeable fps increase leaving really large outdoor environments with many speedtrees impossible to have. I don't know what is exactly being rendered but it seems like something is always there unless they are deleted. I am also puzzled that a map using 1024x1024 speedtree billboard textures vs. 32x32 gives almost identical fps.

                  Comment


                    #10
                    @GamePainters - Hmmm it works fine for me in the Sept build. Would you like to send a scene so we can see on our machines?

                    @Tom - Thanks for clearing up the 2x-3x increase in the polycounts. I had thought of that but its nice to get in confirmed.

                    Comment


                      #11
                      @Funk - sure what is your email address; just give me a few mins to get it together?

                      Comment


                        #12
                        Sent you a PM with my email address.

                        Comment


                          #13
                          I sent you the files, I am pretty sure after more testing that shadows always render even if the trees are culled out but want to make sure you get the same results. Thanks.

                          Comment


                            #14
                            You really shouldn't use FPS as a means of performance. Frame time (ms) is what you should be concerned about.

                            http://www.mvps.org/directx/articles...frame_time.htm

                            Comment


                              #15
                              @GamePainters - That scene is very interesting and i get the exact same results as you. All of your settings look fine. Im going to keep looking at though to see if i can learn something more. ^^

                              @3dimentia - That is a very interesting read. In this case though the fps readout seems good enough cause the game turns into a slideshow ^^

                              Comment

                              Working...
                              X