I've been looking into the terrain system, it still appears rendering dense foliage is causing major issues with the deferred renderer in terms of performance. I checked pretty much everything else, from amount of tris to draw calls etc. and on a 390X I can render 50 Million tris without the card even breaking a sweat (without foliage) (loose around 2MS / 20 FPS).
So it's nothing to do with LOD's etc., at max in a dense scene I was rendering 8 Million tris / 190 DC's (including terrain / foliage) which is nothing. Whilst looking about it's an issue with overdraw and all the other lovely offset issues with using deferred rendering.
You may say this is an inherent issue to all engines using deferred rendering and that would be true, but nowhere near to this extent. Unity and CryEngine at fullscreen with 10K trees / 10K grass as an example w/ out Vsync I'm looking around 60 - 80 FPS, in Unreal I'd be lucky to get 40..! (Yes I was using DR in Unity)..
Can you either offer some suggestions? Or would you be willing to look into something like a forward + path? I know ages ago Epic said they were looking into it, but I could do with something setting in stone at this stage.
Appreciate all the help and support as always.!
asked Jun 16 '16 at 10:24 PM in Rendering
The first obvious steps would be to do things like disable dynamic shadows on the foliage, take off the normal maps, use the most simple shaders you can, and try to put as much as you can on a single polygon to reduce overdraw with opaque pixels. Also, go into the material and disable accurate velocities from vertex deformation for things like grass. It'll be a bit blurrier but it'll be easier for it to process. And of course, make sure you disable distance fields on the smaller vegetation and disable it in the foliage settings so it doesn't impact performance there.
There's no real silver bullet for this particular issue, I've felt like I've been bashing my head against a wall for the last 2 months trying to optimize foliage for my own game, but there are tiny things you can start chipping away at, at the very least, to help things along. Even engines like the CryENGINE as you mentioned actually disable shadows on the vast majority of vegetation, only bushes/trees usually have it enabled even in the latest iterations.
answered Jun 20 '16 at 11:30 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here