Even though Motion Blur and TAA are not used in my scene, I can see using the GPU Analayzer or Unreal Insights that some time is spent on the Velocity Pass in the Render Thread (>0.5ms, in a dev build, but still unnecessary).
Isn’t there a switch or setting to disable globally the velocity pass? If there is such a switch, could it be per scene or something? There is a specefic scene in which I want to use motion blur.
I tried looking at the console commands, forum and documentation, but I didn’t find anything.
After looking at the code in FDeferredShadingsceneRenderer::ShouldRenderVelocities, I found out that the Velocity Pass will always be enabled if r.VelocityOutputPass was equal to 0, which means Renders during the depth pass. This splits the depth pass into 2 phases: with and without velocity. .
So I changed r.VelocityOutputPass to 2, made sure Motion Blur, TAA, SSR were disabled, and now it looks like it working, I don’t see any VelocityPass in Insights. This setting is also availble from the editor in the Project Settings under Engine - Rendering.
Additionally if you have a material with refraction in your scene/level, it will force velocity pass to true, regardless of TAA or SSR. To disable velocity completely: r.DisableDistortion 1