Hey everyone, I hope you’re having an awesome day… I have ran into a little problem though… See, I used Unreal Engine 5.2’s PCG (Procedural Grass) system to procedurally and more realistically place grass. It works wonders really. This is an experimental option though, so there’s that. The problem is, even though the grass uses optimised LODs and Nanite at the same time it is still unbelievably laggy. Around 10 to 7 FPS depending on where you’re looking. I also looked to make the grass as less dense as possible but it just isn’t enough… I use RTX 3050 which I suppose we can agree is a pretty decent graphics card, right? Anyhow, I looked for the answer far and long and everyone on the Discord Server doesn’t seem to know or is just ignoring my question, where as if I Google the thing on the said topic it gives really mixed results (some even showing UE4 even though UE5 was searched for)… Posts on Reddit haven’t helped a ton either and these forums are really my last resort. Please, if anyone has encountered such issue before I’d be more than thankful if you’d manage help resolve this issue. I’ll post some screenshots so you guys can grasp on what kind of environment I’m going for:
Grass models are animated and I don’t plan on removing the animation just for some performance boost… Since it’s open world I need the game to feel alive, hope you understand!
Edit: I managed to adjust the cull distance but it is still lagging nearly as same as before the cull optimisation… The parameters are really reasonable size so I don’t know really. Any other tricks? Maybe I can adjust LODs to a lower quality as my trump card at this point? Or what if I make that thing where it renders just the objects that camera sees?
If you place the assets using the foliage painting tool with similar density is the performance any different? It may have nothing to do with PCG. One of the biggest performance pitfalls with animated grass is virtual shadow maps cache invalidations when using Virtual Shadow Maps, for example. You will need to profile your scene to see where those milliseconds are being spent.
if the grass is animated, go to your pcg graph, select your static mesh spawner node, mesh entries>index[x]>descriptor>world position offset disable distance set to 500 or 1000 depending on how far is important for you to see the animation, that should reduce the shadow maps costs and you should get some performance gain. You should do the same for the trees and all the foliage.
Just for performance I disabled Virtual shadow maps, I don’t find them particularly important for looks… You can’t even spot the difference… So they are disabled and yes it is really no improvement when using foliage tool… I doubt PCG does anything to the frame rate
Hey man thank you for the compliment! I saw a Unreal Engine 4 tutorial on how to reduce the cull distance but I couldn’t seem to find any on UE5… Do you know how to get that parameter tab thing?
Greetings, that was a really epic non-epic tutorial! I can’t believe I managed to miss something like that I mean it was right in front of me XD Anyway, sadly, even with the adjusted cull settings the grass and trees are still slowing it down ridiculously… So sad to say it didn’t do much of an effect
Maybe try experimenting with the Scalability settings to see what difference there is between them - I’ve got a 3070 and I have to switch it down to Medium when I’m in the editor - it runs better when packaged too - maybe test a packaged build.
I love it when they say in the title it’s for UE5 AND 4 but then doesn’t work Do they do it for views or what? Anyhow, any other way to do this? I already searched the topic on YouTube so I saw this video already and knew it wouldn’t work