Tips for maintaing performance with 1009x1009 landscape populated with SpeedTrees

Hello all! I have a 1009x1009 landscape. I would like to populate my landscape with SpeedTrees. I am creating a forest scene. Areas of the scene will look something like the images below:

://darksideparanormal.weebly/uploads/6/8/7/8/6878634/7283756_orig.jpg

https://www.google/search?q=cabin+in+the+woods+forest&safe=off&espv=2&source=lnms&tbm=isch&sa=X&ei=hwLKU8idLoqryASYvoHABw&ved=0CAYQ_AUoAQ&biw=1360&bih=643#q=freetown+forest&safe=off&tbm=isch&facrc=_&imgdii=_&imgrc=gkZ5cNiw3I7-CM%253A%3BPwBxQtCPm0wEgM%3Bhttp%253A%252F%252Fpics4.city-data%252Fcpicc%252Fcfiles45347.jpg%3Bhttp%253A%252F%252Fwww.city-data%252Fpicfilesc%252Fpicc45347.php%3B768%3B576

https://www.google/search?q=cabin+in+the+woods+forest&safe=off&espv=2&source=lnms&tbm=isch&sa=X&ei=hwLKU8idLoqryASYvoHABw&ved=0CAYQ_AUoAQ&biw=1360&bih=643#q=freetown+forest&safe=off&tbm=isch&facrc=_&imgdii=_&imgrc=6jajvNa68pJsoM%253A%3BCIukV-MbwQCPxM%3Bhttp%253A%252F%252Fwww.asergeev%252Fpictures%252Farchives%252F2004%252F421%252Fjpeg%252F06.jpg%3Bhttp%253A%252F%252Fwww.asergeev%252Fpictures%252Fk%252FFall_colors.htm%3B1155%3B768

I am currently just using the Mobile version of the Broadleaf because the Desktop version dramatically decreased my performance. The mobile version still decreases my performance but not as much. Does anyone have any tips for maintaing performance with landscapes of this size populated with SpeedTrees? Thanks! :slight_smile:

Decrease the view/render range of the player?

I’ve tried changing the view distance in “Engine Scalability Settings” to Near and it helped a little bit, but not too much. Any more ideas? Thanks! :slight_smile:

Also use culling -> you can do that with cull volumes or the culling function in the foliage tool

Keen to see how you go with this, the new speedtree stuff looks great but I like making big open world levels so I need to know if it can do quantity as well as quality before I subscribe to it.

You got two trees without the subscription, as far as I could see.

Hello all! I’ve been playing around with the LODs and I’m actually getting better performance with the default Epic graphical preset. I noticed that placing trees by hand (trees created using the foliage tool can’t be lightmapped) and building lighting has been helping keep my FPS high so far. Of course this is going to take forever if I place the trees manually. Perhaps, I will create a tree generator blueprint. lol

My FPS was a lot worse before. I’ll keep posting progress here. Thanks! :slight_smile:

I will most likely be purchasing a SpeedTree subscription soon. I just wanted to see how the trees work and perform in real-time before I purchase it.

Static light will significantly improve performance.

I haven’t had any issued with Speedtrees and dynamic light though, as long as you do the LOD levels and the instance clusters right.
Yesterday I covered my map with 300 000 trees for testing purposes and it performed fine.

Hi all!

This is mainly @Sitrec + + Chariots since you three seem to have a handle on this. From what I understand, the idea behind multiple LOD’s is that, depending on distance from the camera, the game will render different LOD’s to avoid taxing the engine on rendering details that can’t be seen by the player (think I got that right). What I’m having a hard time figuring out exactly how to manage LOD levels for trees and the such (like in this scenario). I’ve done a ton of searching on the AnswerHub and here, but still seem to be having a hard time figuring this out. So, if ya’ll can help a noob out:

1)Where would I go to manage LOD levels when placing a bunch of trees in a level? I.E., where, specifically, do I go to manage this, and what values do I adjust?
2)In terms of the instance clusters - that refers to setting the clusters under the Foliage painting tool, yeah?
3) Distance culling - I’ve been managing that via the foliage painting tool (though, still figuring out what it exactly does). However, is there also some sort of culling volume/general parameter I would set for a level to help maintain good FPS?

And help here would be MASSIVELY appreciated - particularly for #1 (I couldn’t really seem to find anything in the documentation to address this).

Thank you!

Hey dude! I’ve been looking at this as well.

  1. I believe that you manage the LODs by opening the tree in the Static Mesh Editor and adjusting the Screen Size setting.

://imageshack/scaled/large/539/b436ba.png

  1. Yes I believe that is what they were referring to.

  2. If you drag a tree into the foliage tool, and click Show Instance. They have some culling settings in there.

://imageshack/scaled/large/673/a8ee2f.png

Is that what you were looking for? Hope I helped dude! :smiley:

EDIT: Also, this link may be useful as well: https://docs.unrealengine/latest/INT/Engine/Foliage/index.html#instancesettingsmode

Hola!

Ahhh, that is EXACTLY the sort of help I was looking for. Thank you! (In particular, I would have never found/thought to look at the screen size settings - awesome).

Really appreciate the thorough (and quick) reply here!

Rock on,
-T3

Thanks for the clear questions and answers, I was just looking for this info!
I’m starting to like this community, so much love! :slight_smile:

Good luck with the project , will be watching this thread for progress.

Back in UDK it used to be distance from camera, but now it’s screen space which is way better, now it more or less automatically set the different LOD to switch closer on small stuff and further away on more important large stuff, it’s pretty brilliant and saves tons of time.

Very cool - oh, and I second FatJoe’s appreciation for the community (and best wishes to with the project).

For my part, I feel very lucky to have jumped on board w/ UE4. As a complete novice, both the tutorials (Zak Parrish’s stuff is beyond amazing) and community support have made it really easy to jump in and start learning. Thanks ya’ll!

No problem and thanks! Good luck with your projects as well! :slight_smile:

Also, I read that in order to use culling correctly with instanced meshes, I’d have to setup culling in the material. Is this necessary for SpeedTrees or does Unreal already handle this during the import of SpeedTree files?

https://docs.unrealengine/latest/INT/Engine/Foliage/index.html#culling

As far as I have seen you still have to do that with the speedtree materials :slight_smile: -> otherwise they will still disappear very abrupt

Has anyone been able to get the Start Culling variable working with the PerInstanceFadeAmount node? I figured we only needed it on the billboard material because that is the last LOD- I’m still getting a pop.

Hello all! I’ve upgraded my landscape’s size from 1009x1009 to 2017x2017. I’ve configured my culling and clustering settings and I am now getting pretty good performance. I currently have over 8,000 trees in the scene. I use height fog as well and cull everything that is unable to be seen. It’s really dark though (no auto exposure). I like the height fog. It kind of reminds me of depth of field.

://imageshack/scaled/large/539/HH9d8r.png

://imageshack/scaled/large/901/Uok9a9.png

Now to setup a navigation mesh again. I wish Unreal would save the navigation information and rebuild only if something is different instead of rebuilding each time I open the level. How is everyone else handling navigation meshes on huge landscapes? My enemies need to be able to get to the player no matter where he/she is.