Performance: Post-processing effects
Post-processing effects impact the rendering speed and frame rate by adding extra image processing after the main scene is rendered.
using UnityEngine.Rendering.PostProcessing;
var volume = gameObject.AddComponent<PostProcessVolume>();
volume.isGlobal = true;
volume.profile = new PostProcessProfile();
volume.profile.AddSettings<Bloom>();
// Only essential effects enabled
// Disable or reduce intensity of othersusing UnityEngine.Rendering.PostProcessing; var volume = gameObject.AddComponent<PostProcessVolume>(); volume.isGlobal = true; volume.profile = new PostProcessProfile(); volume.profile.AddSettings<Bloom>(); volume.profile.AddSettings<Vignette>(); volume.profile.AddSettings<ChromaticAberration>(); volume.profile.AddSettings<AmbientOcclusion>();
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Multiple heavy post-processing effects | N/A | N/A | High GPU shader load causing frame drops | [X] Bad |
| Minimal essential post-processing effects | N/A | N/A | Low GPU load maintaining smooth frame rate | [OK] Good |
var volume = gameObject.AddComponent<PostProcessVolume>(); var profile = ScriptableObject.CreateInstance<PostProcessProfile>(); var bloom = profile.AddSettings<Bloom>(); bloom.intensity.value = 2.5f; volume.profile = profile;
var volume = gameObject.AddComponent<PostProcessVolume>(); var profile = ScriptableObject.CreateInstance<PostProcessProfile>(); var vignette = profile.AddSettings<Vignette>(); vignette.enabled = true; volume.profile = profile;
Pass the test and this pattern moves unknown