Performance Parameters
You can tweak Crowd Rendering parameters to balance performance and quality. The parameters are defined in CVars, and some can be tweaked from the console at runtime (in a non-shipping build with console access) to find appropriate values for your project. The most useful ones are listed here.
To set custom values for each quality settings see: Override CVars Per Scalability Group
The default values can be found in <EditorLocation>/Config/BaseScalability.ini
Mesh prioritisation
Triangles are allocated to characters using these steps:
Cull all characters outside of the camera frustum
Allocate a minimum number of triangles to each character inside the frustum, and calculate the remaining number of 'spare' triangles from the total budget
Sort all characters into priority order, based on their screen-space size
Allocate the spare triangles to the highest priority
n
characters using an exponential dropoff
Mesh prioritisation settings
r.CarnivalTargetNumTriangles
The maximum number of triangles that will be rendered across all meshes. This is the main bottleneck for performance, more triangles = better quality and worse performance.
r.Carnival.Fidelity.MinNumTrianglesPerModel
The minimum number of triangles that each character will have. Lower value = worse looking meshes in the distance, but leaves more triangles available to be allocated to nearby meshes.
Ensure to set the value low enough that (minimum per character * maximum number of characters) < total triangles
to avoid any rendering issues.
r.Carnival.Fidelity.NumModelsToPrioritize
The number of characters that are eligible to receive extra triangles.
r.CarnivalExtraTrianglesExponent
The rate of exponential drop-off when allocating spare triangles. A higher number means that the closest few characters will get most of the triangles (and therefore look better), while a lower number will give a more even distribution across the prioritised models.
Other settings
r.CarnivalTargetTextureMegaPixels
Set the total texture budget. Reducing this will result is less memory usage, but model textures will be lower resolution.
r.Carnival.CharacterBoundRadius
The base radius to radius to use for frustum culling. The default value is 90 which should be appropriate for most human-sized characters.
r.CarnivalEnableShadows
Whether Carnival characters cast shadows. Shadows can be disabled to improve performance somewhat.
r.Carnival.Fidelity.MaxNumOpsModelPerTick
The higher this value the quicker models will be updated to their correct fidelity level. Reducing this can improve CPU performance.
r.Carnival.Fidelity.MaxNumOpsTexturePerTick
The higher this value the quicker textures will be updated to their correct resolution. Reducing this can improve CPU performance.
Last updated
Was this helpful?