Home Unreal Engine

When making a scene in UE4, how much decals is too much decals?

interpolator
Offline / Send Message
TheGabmeister interpolator
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

  • Mark Dygert
    They can get pretty expensive, pretty fast but it really depends on how you're using decals, how big the bounding boxes are, what they effect and the biggest factor is how complex the shaders are. I think if they overlap, they can be more costly also.

    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


  • TheGabmeister
    Offline / Send Message
    TheGabmeister interpolator
    They can get pretty expensive, pretty fast but it really depends on how you're using decals, how big the bounding boxes are, what they effect and the biggest factor is how complex the shaders are. I think if they overlap, they can be more costly also.

    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


    Thanks for the info. I'll probably make some test scenes and do some profiling.
Sign In or Register to comment.