[Closed] Procedural Procedural Foliage Volumes and Foliage Instances peformance
Are there any performance issues to be considered when employing Procedural Foliage Volumes instead of the Foliage Paint tool? Say an identical number of trees were to be distributed over the same amount of space? Likewise, do the Landscape Grass Tools offer any peformance gains or drawbacks?
The question has been closed Feb 18 '16 at 10:33 PM by AndrewHurley for the following reason:
The question is answered, right answer was accepted
Sorry for the late reply.
The Procedural Foliage Volumes and the Foliage Paint tool are identical at runtime. The Procedural Foliage Volumes just place foliage instances as if it had been placed by the foliage tool, and you can even add or remove instances with the foliage tool after the simulation has been run. The instances are rendered using a HierarchicalInstancedStaticMeshComponent for each foliage type. The instance buffer is always around while the levels are loaded so the instance data contributes to runtime memory, size on disk and load time. Each instance has 48 bytes of GPU data and 80 bytes of system memory. Unlike Landscape Grass, the Foliage Paint and Procedural Foliage types can have collision.
The Landscape Grass feature renders instances the same way as the Foliage Paint tool (by populating instances in HierarchicalInstancedStaticMeshComponents) but the instance data is generated at runtime and only around the camera. This generation has some minor cost, but it done in a background thread, and it allows you to have what would be many millions of instances placed by the foliage tool and only have the 100,000 or so near the player in memory. Landscape grass does have its own memory cost, which the density map that is generated in the editor for areas with grass that the runtime system uses to know where to place instances. The cost is 2 bytes per landscape vertex for components which have grass (to store the height data) plus 1 byte per vertex for each grass type. This cost is typically much lower than it would be if they were painted or procedural instances.
answered Feb 18 '16 at 10:32 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here