Test the Forward Renderer in your PC VR projects with the 4.14 Preview

For my project wich uses alot of foliage, Deferred + FXAA + SP 150% looks superior to Forward + MSAA 4X + SP 110%. Using Deferred + TAA + SP 200% looks insane, but requires also insane hardware.

There was a video with Zak Parrish saying that the new Forward renderer is not a magic bullet for VR performance and quality, it all depends on the content.

EDIT: https://www.youtube.com/watch?list=PLL2xVXGs1SP7RjXUBwur43flR7tRcbYLD&v=y92tmn1pCbg

Not saying it’s magic bullet, just in vast majority of cases it is much better. Nice you have an exception.

When I turn on forward shading and restart the project, it loads to 39% and then hangs there. Has happened three times in a row for me on blank projects. evga gtx 1070.

You’re right, it’s not in 4.14 preview. It was implemented in another branch and I forgot it didn’t get integrated into the 4.14 branch in time, sorry about that. I don’t think it will make 4.14 at this point (only bug fixes allowed).

What I heard from our artists about SSAO in VR was more along the lines of differences between eyes causing strain, since SSAO only operates on what’s visible and each eye sees different things. SSAO without temporal AA definitely needs a spatial filter, same with SSR. Anyway I hear you guys that SSAO support is desired.

In our projects forward is 22% faster than deferred, but 4xMSAA is 25% slower than temporal AA. So they kindof cancel out if you go from deferred + temporal => forward + msaa. But forward can support either AA technique. MSAA is not expected to be a fast anti-aliasing technique, quite the opposite since it increases the cost of the base pass (esp small triangles) while temporal AA is purely a post process.

I think that’s shaders compiling, which can take a long time if you don’t have too many cores =) Give it some time.

@DanielW, I tested with a converted copy of my project, so far so good. Sometimes I open SteamVR’s timing window, SteamVR itself crashed, UE4 Editor is still there.

Also another thing I noticed is that when I “teleport” from place to place, foliage grass due to switch LOD version will look all kinds of odd compare to the dither TAA version.
It probably need to use some fade in/out when teleport to reduce that odd effect.

If I use a regular 3rd person pawn, the shader view shows that everything is “bad” around grass area for overdraw, but in reality the performance looks roughly the same.(using timing window or stat unit)
So maybe forward renderer needs a bit different rating for what’s consider bad.

That’s what I can think of now after 20 mins testing 4.14 preview forward renderer, thanks for doing this.

Has anyone compared performance with the Oculus forward render? We’re shipping with that at the moment and I’d love to swap to mainline.

I’m really excited about this, but a little dismayed at the news that SSR likely won’t be coming to it. I wouldn’t be worried if I could use a planar reflection, but that doesn’t seem to behave correctly in VR yet either. I have a scene where it’s critical that I have a large reflective surface, and while SSR has issues it’s been acceptable so far.

edit: whoa maybe I should have read the OP.

Hello,

I asked this in the general 4.14 thread but it seems more relevant to do it here:

  1. Is MSAA supposed to be more expensive than TemporalAA? I get a significant frame drop (goes down to 45fps on the Vive) when I switch to MSAA (no posst process effects). If I use TAA, and thanks to the forward renderer, I can bring SP up to 180% (from 140% with non forward) and get something that looks closer to MSAA but remaining at 90fps.

  2. I have a VR project that relies heavily on the Gaussian DoF post process effect. With TemporalAA it look great but with MSAA (or with AA off) I can see a strange waviness in the blurred areas when moving my head around. I’m assuming with TAA looks great due to its intrinsic blurriness. Is this something that is planned to be fixed for VR with MSAA or with AA off?

Thanks!

Yes, here’s my previous response

Temporal AA is run on the DOF input making it extremely stable. I don’t think this can be solved without TAA.

The forward renderer with MSAA looks outstanding in VR. I will definitely be using it. However, the editor crashes if you try to run a splitscreen game in VR Preview mode. This happens with both the forward and deferred renderer. Does that mean it’s impossible to run a local multiplayer game with one player in VR and another using the PC?

Thank you for your response. So in order to make MSAA more efficient, geometry with larger triangles or lower triangle count would be required?

MSAA cost is more affected by tiny triangles on screen, so usually you can make LOD’s to turn many tiny triangles in the distance into fewer large ones. This usually helps with aliasing too, and reduces vertex cost.

The reason this happens is that MSAA increases the pixel footprint of a triangle which needs to be shaded. So every triangle affects more pixels. For a large triangle it might only be 10% more pixels, but for a small triangle it can be 400% more pixels.

Enable ‘Forward Shading’ in the Rendering Project settings and restart the editor to use the Forward Renderer.
To use MSAA, set the default Anti-Aliasing Method in the Rendering Project settings.

I followed the steps,But Shader Complexity turn Red in 4.14.




But, In 4.13,Shader Complexity Is Green.

Please tell me why,Thanrks.

Will you also add the widescreen version of the VR preview window for Vive? now its a square, and its not looking good on widescreen. Thanks

Those appear to be the same screenshot.

Shader complexity is expected to increase because more of the lighting operations are done in the base pass shader. Lights didn’t contribute to shader complexity in the deferred renderer, now those are in the base pass shader.

Shader complexity is useful for comparing between materials within forward, but not useful for comparing deferred vs forward. Use ProfileGPU for that.

Yes, that would be very nice. You can’t really record representative gameplay this way.

Oh,sorry,It was for the first time I post.
This is zhe version 4.14 setup :
Enable ‘Forward Shading’ in the Rendering Project settings and restart the editor to use the Forward Renderer.
To use MSAA, set the default Anti-Aliasing Method in the Rendering Project settings.

This is zhe Version 4.13

Hi , would that be a big effort to make Vive VR preview window widescreen? There are lots of people and studios that are presenting their stuff on projections and large TVs and this square window doesnt look very well or professional. Thank you.

Patrik that’s not my area of expertise. Considering making a thread in the ‘feedback for epic’ section so the appropriate people can see it.

I just did a update to 4.14+deferred+MSAA.

Without doing any furhter investigations into why, I see that I have lost a lot of specular highlights/reflections on my metal surfaces.
I am using a fair amount of different lights (almost no moveables) and nested reflection probes.

Would this be a change in shader response to light, or would it be a difference in the lights/reflection probes themselves?

Is it possible to not get this change when switching between render types or is it somehow inherent?

Cheers