I’m getting the same issue as described in this post:
Basically I’m using some speedtrees that have a tesselated/displaced trunk placed as foliage (With a custom shader I’ve done). The second I do that, I get a big performance drop. Is there a way to fix or work around this issue, or is displacement just a big no-no when using foliage?
Would adding a non-tesselated/displaced LOD1 change anything?
So having tessellation on foliage is going to be resource intensive. The greater the density you paint with the tessellated mesh, the more expensive it will be render the scene. As you suggested, I would definitely look into have a LOD1 that transitions relatively close to the player so that only the tessellated meshes are the closest.
Is there a reason you need to have tessellation and displacement on your foliage instances?
Basically because I’m using it to place trees and my trunks require it. The mesh gets tesselated based on distance, so around about 7 meters away the tesselation is gone although there’s probably still something running under the hood if I don’t change the trunk’s material on the first LOD?
I want to place them using foliage because it’s much more usable this way, and always sticks to the landscape. I could always place them by hand as static meshes, but I’d like to find a functional way to use them as foliage. Is that not a good plan?
Not necessarily a good plan unless you have your Base LOD (using the tessellation) change to LOD1 at a very close distance. The only reason you need tessellation and displacement are for viewing a model very close to the camera to give a convincing effect. Utilizing both of these at distances where the player will not notice is a waste of CPU and GPU resources.