A while ago I saw on Github that @.Bunner added a Compute Post Process Pipeline, so almost all PP things (TAA, bloom, tonemapping etc) can be run in compute shaders now.
Since certain things can be done faster in compute shaders due to how pixel shaders and compute shaders work, I was quite happy to see such a change. PP takes while a while, so any improvement would be really nice to see. I hoped I might see something like a 20% improvement by this change.
You can enable it with calling the console command “r.PostProcessing.PreferCompute 1”.
So, let’s look at the results:
Pixel Shader PP:
https://puu.sh/vwmDY/66bce08f7d.png
Compute Shader PP:
https://puu.sh/vwmCu/9d441a162b.png
The results I see are not that good I would say. Every single PP thing seems to be faster with pixel shaders. Now I guess this might be quite GPU dependent, maybe the compute pipeline is faster on some GPUs while the pixel shader pipeline is faster on others? I am using a AMD R9 390, so a relatively “old” GPU. Maybe newer GPUs are better with compute shaders?
The compute shader PP also does not really work visually for me.
This is how it looks like with Pixel Shader PP:
http://puu.sh/vwnAh/0686a4b9a2.png
And this is the Compute Shader PP:
http://puu.sh/vwnBW/71a98102b7.png
So the view seems to be cropped incorrectly. Only on the top a bit of the view is visible. It’s not stretched in any way, it renders correctly, the colors are off a bit though, looks too green.
Would be interesting to see how it looks like on other GPUs, maybe someone with a 1080 can try it and post the results here?
@.Bunner I know this is currently experimental, so I know it’s not supposed to work for everyone. Are the results I see what you would expect, or did your testing show different results and should the compute pipeline be faster than the pixel shader one?