What is the most performant way to blend post processing profiles?

I’m confused on this and the docs are a bit scattered. What I have is a normal game post process volume, and then a “rage” game post process volume when the player uses a powerup. So I want to smoothly transition to that rage post process volume and also smoothly flash it for a few seconds before the timer is up to let the player know that it’s about to end.

The only option that I know of is to keep 2 volumes on at the same time and then change each weight in opposite directions during the transition. But wouldn’t that be terrible for performance because then the device has to do double the post processing workload? I’m not exactly sure how that works in the background. Is Unity actually going to post process once, and then again, or does the engine take the individual values of each volume and then blend them before calculating the post processing?

The post processing stack with multiple volumes doesn’t run more than once. When there are two volumes enabled, it’s blending the values for those volumes between each other, or hard swapping between incompatible ones.

So if you have two volumes with color correction for example, when blending 50% between the two, it’s blending the two LUTs together, then applying that blended LUT to the screen.

1 Like

Hi, I have been dealing with the same problem right here.

In my case, I am blending two volume with an animator, and during the blending the game suffers so much and causes lagging and jittering. I have been doing all kind of debugging, and then I found out at the frame debugger, there is a slot called VolumeBlending, and below is DrawMesh, and another DrawMesh. I checked it and saw two luts with huge resolution which is 4096x4096. With that, my guess here is that the luts created every frame are simply killing the performance, so I need to turn down the resolution. So, I tried changing several setting at the quality setting, and graphic setting. Unfortunately, it was no used, and the jittering is still there.

ps: I have also tested by lerping the two volume weight to create a blending effect, this is to see if animator is the main reason for the lagging. But, it turned out that it was not the main cause. Blending with animator or not, does not significantly cause the jittering.

Could there be any other reasons I have been missing?