cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Go Performance Considerations

Slin
Level 4
I've been working on a small game for Oculus Go off and on over the last two months or so and would like to get a small discussion / data collection / something going, on what performance related decisions others make.

Some questions to get started:
Do you render at the recommended 1024x1024 per eye resolution returned by the SDK, or do you go higher/lower than that?
Do you use MSAA? If so, what MSAA quality do you target?
Do you use chromatic abberation correction?
What framerate do you target?
Do you sacrifice level details / shader effects to reach any of these things?

My opinion is that image clarity and consistent high framerate are most important, so my initial goal was 4x MSAA and chromatic abberation correction at 72Hz, but even with a very minimalistic scene it seems as if I can barely have 2 of those 3 things and as a result I am now settling with 4x MSAA at 60Hz and leave the resolution as is.
And to not having to lower MSAA, my shaders are simply rendering a texture and don't do any shading.

Something I noticed is if I turn my head somewhat fast, the edges seem to be flickering a little due to reprojection, is that expected to be visible at consistent 60hz?
I currently have some gpu performance to spare (20-30%, I hoped to use it for 72Hz mode, but can't hit that consistently), which I intend to spend on some more level details.
I am also going to try 72Hz mode with 2x MSAA, might be an acceptable compromise. It unfortunately doesn't seem like the fixed foveated rendering is working for me, which would probably help with some of this (but also completely my fault cause I am using Vulkan for rendering and probably just need to be a bit patient for this to work).

This is what my rendering currently looks like (there is something wrong with gamma at the moment, not sure what yet...)

3 REPLIES 3

Halfspacer
Level 5
Hi Slin!
Something is definitely not right here. You should not be struggling this much (or at all really) to reach a stable 72hz with 4x MSAA with a scene like this. Do you have any idea what's eating into the performance? 
If you run the OVR Profiler and rotate your player around the scene, does e.g. the draw call count spike at any point? And what shaders are you using? I assume the AO is baked as well? 

I've run massive terrain scenes with vegetation, props and NPCs stable at 72hz 4x MSAA on the Go. But while the Go can run a lot of a Certain type, it only takes one demanding shader, too detailed object, poorly optimized script or incorrect setting to cause performance drops. It's just a matter of finding out what's causing it.

Heaney-555
Level 7
We use 1280 eye buffer, Medium FFR (important!), 4x MSAA, and 72Hz, and we have no problems.

However, do not use CA correction, as its far far too intensive on the Go. You just have to do without.

You need to use very simple shaders, bake all of the lighting/shadows, and try to keep draw calls lower than 50-100.

Are you using your own custom engine or Unity? I highly recommend switching to Unity if you're attempting the former.

Slin
Level 4
Switching from 2x MSAA to 4xMSAA gets me from 50-60% to 70-80% gpu utilization, if I enable 72Hz on top of that it's higher and I can't consistently keep it at 72fps. I only have one super simple shader and only two or 3 draw calls. There is likely some performance overhead from using Vulkan, but again the big hit I can easily see is the MSAA level.
But if you are saying that it shouldn't be that much of a performance hit, maybe it's something with my msaa pipeline, like resolving twice or something... I'll look into it.