Performance Considerations
Screen Space Decal
The screen space decal's performance is completely independent of the underlying geometry. The performance consumption stays the same for a 1k or 30k mesh target.
Plane Projector
The plane projector's performance is mainly affected by its Resolution (quality) property.
Note: As with all mesh-based decals, make sure to bake the decal once it has been placed. When spawned in code, use decal.LateBake() or the "Bake" toggle in the inspector UI when in design mode.
Box Projector
The box projector's performance is mainly affected by its world space size and the complexity of the target meshes.
Note: As with all mesh-based decals, make sure to bake the decal once it has been placed. When spawned in code, use decal.LateBake() or the "Bake" toggle in the inspector UI when in design mode.
Design-Time Use
For decals placed at design-time, the performance mainly depends on the amount of different materials/atlases. As decals sharing a common atlas can be combined to mesh groups using the same draw call.
Runtime Use
It's always a hard task to estimate the runtime performance as it depends on many different things. But roughly said, it mainly depends on the following points:
- The world space size of the decal.
- The complexity of the receiving geometry (How many polygons have to be cut?)
- The collider setup (Does the projector have to recursively search for potential geometry?)
- The number of instantiations per timestep.
- The runtime mode. (Is the decal geometry static (e.g. bullet hole) or dynamic (e.g. drop shadow)?)
- The settings you use in the Easy Decal component. (See images below for some of the settings that may affect performance)