Quest 2 rendering

Hi I believe you originally released the Quest version of VR Sketch at the time of the Quest 1
Would it be possible to have a couple of optional rendering updates that could run on the Quest 2?
Apparently the PC version has some kind of ambient occlusion I think
Probably that could run on the Quest 2, especially on small scenes, and help display the volumes
Also the aliasing gets quite crazy with flicker on Quest so some additional anti aliasing would help
I think you could make those separate option toggles, to activate depending on the scene

Hi Lemo,

Apparently, there is no reasonable way to run ambient occlusion on the Quest 1 or 2: it’s a post-processing full-screen effect, and these ones are very bad on Quest hardware. They add a fixed amount of time, independently on the scene complexity; but the problem is that on mobile device GPUs that amount of time is rather large. And on VR we need a much higher number of frames per second than, say, on your phone. As an end result it’s disabled in all games as far as I know (some games bake the ambient occlusion into the precomputed static lighting, which is not something we can easily do in VR Sketch because scenes are completely dynamic).

The aliasing is indeed a problem. I think it’s most obvious along the black lines of the edges. As it turns out, these black lines also cost some important fraction of the rendering time on Quest (not on PC). So we’re looking into some other way to render them. Hopefully we can solve both issues at the same time if we find an alternative which also offers better anti-aliasing. Another approach is to supersample more aggressively, which involves computing a higher-resolution image every frame; but again I don’t know if it’s something we can easily do without a massive performance hit on the Quest, both 1 and 2.

It’s true that the Quest 2 has more power than the Quest 1, which could hide the extra cost, but I suspect (without being sure) that the extra costs are too big anyway—also keeping in mind that some of this extra power is here because the screens have a higher resolution in the first place.

Hmm yeah that seems quite challenging
I looked around and saw someone recommending this plugin
Might be worth a try, there’s both fast SSAO and FXAA

https://assetstore.unity.com/publishers/39057

Thanks for the pointer! I tried FastSSAO and yes, it needs a few tweaks to work on Quest (which I’ll contribute back to the author, if he takes them), and it only works on a more recent version of Unity than the one we’re using right now, but after that, it seems to work relatively quickly. Still gets a quasi-empty scene down to 60 fps, but that’s kind of OK if it’s separate option and the user knows about the modest performance hit. We’ll need to upgrade the Unity we use and that’s always “fun”, but that’s more or less needed anyway every 2 or 3 years. (We’re using Unity 2019.1 right now.)

I’m less confident about trying the FXAA solution because it has got several comments that say it doesn’t work on Quest already.

Thank you for the pointers!

1 Like