Announcement

Collapse
No announcement yet.

UE4.17 - Needing pointers for foliage optimizations

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

  • UE4.17 - Needing pointers for foliage optimizations

    I have searched over the forums, and, google, and i have not found any updated data on optimizations. Almost all data i found was like 4.6 to about 4.14 era times. I dont know if the data or methods have changed or not, maybe they haven't.
    Really the question falls down to: what am i looking for and depending what i find, what do i change?
    Also, is the procedural foliage tool better to use over the paint tool?
    CPU load better to shoot for over GPU? How do i change between foliage eating up too much GPU and move to CPU (or other way around if that's how it is)? Is that even possible?

    You know, just .. basic ... stuff lol

    Thanks!
    Founder and CEO of Angry Penguin Studio, LLC
    Dallas, TX USA
    https://www.facebook.com/AngryPenguinStudios

  • #2
    Originally posted by AP_Studios View Post
    I have searched over the forums, and, google, and i have not found any updated data on optimizations. Almost all data i found was like 4.6 to about 4.14 era times. I dont know if the data or methods have changed or not, maybe they haven't.
    Really the question falls down to: what am i looking for and depending what i find, what do i change?
    Also, is the procedural foliage tool better to use over the paint tool?
    CPU load better to shoot for over GPU? How do i change between foliage eating up too much GPU and move to CPU (or other way around if that's how it is)? Is that even possible?

    You know, just .. basic ... stuff lol

    Thanks!
    I also would like some performance pointers. I'll just bump to bump. This would make a great live stream. I'm curious as to what would be optimal, especially for mobile/AR/VR. I know masked isn't friendly, and I've been modelling the vegetation I need with as little masked properties as possible.I'm using lower bit depth right now. Also the cost of stacking of UV Islands, and performance would be appreciated.
    There were some beautiful screenshots during the last animation live stream of procedural foliage.

    Comment


    • #3
      The first thing you should do is go and vote for this issue https://issues.unrealengine.com/issue/UE-43093

      Unfortunately, foliage has been broken for some time now and is pretty much unusable unless you are running a super computer:

      https://answers.unrealengine.com/que...ance-drop.html
      https://answers.unrealengine.com/que...-4143-416.html
      https://answers.unrealengine.com/que...ge-in-415.html
      https://answers.unrealengine.com/que...and-grass.html
      https://answers.unrealengine.com/que...-and-lods.html

      In reality, the methods of optimizing foliage hasn't changed.

      Typically, you'll want to make sure you are making the best use of LOD's, use 3D imposter sprites on a plane for some cheap distant trees..

      https://www.youtube.com/watch?v=eYDn2sQ8uKs from 01:38:00 shows some of the tricks Epic did to make the A Boy and His Kite demo.

      But go and vote for the issue to be fixed!!
      [FREE] Procedural Bridge Blueprint, [FREE] Spline Enabled Ivy BP

      Comment


      • #4
        Originally posted by ULLS View Post
        The first thing you should do is go and vote for this issue https://issues.unrealengine.com/issue/UE-43093

        Unfortunately, foliage has been broken for some time now and is pretty much unusable unless you are running a super computer:

        https://answers.unrealengine.com/que...ance-drop.html
        https://answers.unrealengine.com/que...-4143-416.html
        https://answers.unrealengine.com/que...ge-in-415.html
        https://answers.unrealengine.com/que...and-grass.html
        https://answers.unrealengine.com/que...-and-lods.html

        In reality, the methods of optimizing foliage hasn't changed.

        Typically, you'll want to make sure you are making the best use of LOD's, use 3D imposter sprites on a plane for some cheap distant trees..

        https://www.youtube.com/watch?v=eYDn2sQ8uKs from 01:38:00 shows some of the tricks Epic did to make the A Boy and His Kite demo.

        But go and vote for the issue to be fixed!!
        I understand that issue. I've seen it. I'm saying. If there was a way to see. Texture res, and tris per screen space. Grass can be horrible as. Just say one square meter can have 5,000 tris, and 350mb of textured size map. It would be a nice heat map setting like shader complexity. So if I made a leaf, and duplicated it. It's UV Island could be the entire UV. So I could use a single 4k image, and combine 5000 of those on a mesh. It's not very optimal. Would it be optimal to have 15 UV Islands per branch, and 4k image render each branch, and have 500 of those branches, and be able to see that in scene as a heat map. It would be like pixel to UV/tris density. Mesh UV density in optimization viewmode is also a factor of that. Though I dislike that graphing scheme. It does show me how poor of performance I have with it. I created a tiled roof, and each tile has the same uv. So 35,000 tris, and 150 of them each have the same texture. It's horrible, and I start getting drops whenever it comes into the scene.

        Comment


        • #5
          Originally posted by ULLS View Post
          The first thing you should do is go and vote for this issue https://issues.unrealengine.com/issue/UE-43093

          Unfortunately, foliage has been broken for some time now and is pretty much unusable unless you are running a super computer:

          https://answers.unrealengine.com/que...ance-drop.html
          https://answers.unrealengine.com/que...-4143-416.html
          https://answers.unrealengine.com/que...ge-in-415.html
          https://answers.unrealengine.com/que...and-grass.html
          https://answers.unrealengine.com/que...-and-lods.html

          In reality, the methods of optimizing foliage hasn't changed.

          Typically, you'll want to make sure you are making the best use of LOD's, use 3D imposter sprites on a plane for some cheap distant trees..

          https://www.youtube.com/watch?v=eYDn2sQ8uKs from 01:38:00 shows some of the tricks Epic did to make the A Boy and His Kite demo.

          But go and vote for the issue to be fixed!!
          Thanks, voted.
          Founder and CEO of Angry Penguin Studio, LLC
          Dallas, TX USA
          https://www.facebook.com/AngryPenguinStudios

          Comment


          • #6
            Just for the record, I have some foliage master shaders (they're materials, but at some level of complexity I just call them shaders) that I'm revising at this very moment that I'm attempting to make as versatile and efficient as I can while still being applicable to a wide variety of different types of foliage (grass, flowers, moss, cactii, etc.). I generally like this approach as it ensures a high-level consistency throughout an entire scene and exposes a lot of variables to material instances that, given the way the master material is setup, is reliant on a lot of switch nodes to ensure that the instruction and sampler count remains as low as possible.

            This is also specifically intended to work with foliage used with the procedural foliage system (which, while a pain in the ***, is handy and exposes some nice instance-level data).

            Anyway, here: https://github.com/joymachinegames/j.../ue4/materials

            I'm hoping to wrap up my major round of changes and submit them tonight.
            joymachine-public - All sorts of random publicly-available information, assets, scripts, and more as we (Joy Machine) work on our projects.
            Trent Polack
            Founder & CEO of Joy Machine
            Steel Hunters, a third-person mech shooter with randomly-generated items and enormous enemies.
            @mittense | @joymachinegames

            Comment


            • #7
              Originally posted by mittense View Post
              Just for the record, I have some foliage master shaders (they're materials, but at some level of complexity I just call them shaders) that I'm revising at this very moment that I'm attempting to make as versatile and efficient as I can while still being applicable to a wide variety of different types of foliage (grass, flowers, moss, cactii, etc.). I generally like this approach as it ensures a high-level consistency throughout an entire scene and exposes a lot of variables to material instances that, given the way the master material is setup, is reliant on a lot of switch nodes to ensure that the instruction and sampler count remains as low as possible.

              This is also specifically intended to work with foliage used with the procedural foliage system (which, while a pain in the ***, is handy and exposes some nice instance-level data).

              Anyway, here: https://github.com/joymachinegames/j.../ue4/materials

              I'm hoping to wrap up my major round of changes and submit them tonight.
              Oh sweet, i will check these out tonight when i get home. I just started using the foliage painter and noticed i get way better framerates at the cost of massive amounts of lost time lol. Thanks again, i will check these out tonight.
              Founder and CEO of Angry Penguin Studio, LLC
              Dallas, TX USA
              https://www.facebook.com/AngryPenguinStudios

              Comment


              • #8
                Originally posted by AP_Studios View Post

                Oh sweet, i will check these out tonight when i get home. I just started using the foliage painter and noticed i get way better framerates at the cost of massive amounts of lost time lol. Thanks again, i will check these out tonight.
                Yeah, I toss as much stuff as I can up there that isn't either completely proprietary stuff unique to my project (like I don't think I'd put my hero mech shader up there) or originated in any way from someone else's work. But, as a rule, if I think it's useful for people, I toss it up there, whatever it may be. There are a (very, very) few source files up there, a bunch of material functions, my master material set (that i'm still in the process of updating), and then there's just this collection of whatever: OS X terminal scripts, powershell scripts, python, UE4 conventions, UE4 resources/advice docs, software/tool docs, a lot of really solid git helpers, and whatever else.

                (one of my pet projects up there is also a procedural generation electron app for using a custom grammar/l-system 'language' to instance meshes to create neat exportable FBXs and such, but that's a wayyyyys off from being anywhere near usable).

                One day I'll actually properly organize it, document it, and make it more easy-to-navigate, but that day is not today.
                Last edited by mittense; 09-13-2017, 09:25 AM.
                Trent Polack
                Founder & CEO of Joy Machine
                Steel Hunters, a third-person mech shooter with randomly-generated items and enormous enemies.
                @mittense | @joymachinegames

                Comment

                Working...
                X