I've been doing some research on deffered decals recently and also learning how to use them along the way. One thing that I still haven't grasped is how much you should use before performance starts tanking. From what I understand, a Decal Actor uses only one material and costs one draw call. Moreover, the documentation states that
Decal performance cost scales with the number of pixels they cover. Target platform is obviously an important consideration as some Reddit threads mentioned that you can get away with a lot of decals on PC and console compared to mobile.
Do you guys know of a general rule of thumb on how much decals you should use? When making a scene, is there an instant when you feel that maybe you're using too much?
Replies
I believe it causes any mesh that is hit by a decal to be rendered twice. So one decal can hit 100's of objects and be a big hit or it can hit only one object and not be that bad.
It might help to think of them as lights because they behave in a similar way and can be as expensive as placing a light that doesn't cast shadows, but again shader complexity and what it hits are very important.
On the projects I've worked on, 50-200 decals where fine, 500+ was nuts but that really depends on how you're using them.
You'll want to keep a close eye on them, use the console command: profilegpu
Search for "decal" if they start eating up a lot of ms, then you'll have to get them under control.
ALSO... there are other ways to handle decal like operations/blending through materials:
https://forums.unrealengine.com/community/work-in-progress/117813-high-performance-decal-system-100-000-decals-at-60-fps