cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Go Very Inconsistent Frame Rate - Tips for Troubleshooting?

livio_vr
Honored Guest
Hello, we're developing a puzzle game for the Oculus Go headset. We're having a very difficult time measuring our frame rate. Sometimes when we run a build it's at 70fps, then other times, running the same build and performing the same actions results in 50fps. We don't know what's changing in between our tests. Sometimes rebooting the device brings us back to 70fps, sometimes it doesn't. We don't think battery charge explains it, because we get both low and high framerates at 100% charging.

We're measuring our frame rate using the OVR Metrics Tool set to HUD Mode. Our game is developed in Unity.

Do you have any tips for troubleshooting these performance issues? Are there any background processes that you know could be giving us this variance? Right now it feels like whatever is affecting our performance is not under our control, and it feels like there's too much randomness to know for sure if our optimizations are having an effect.
18 REPLIES 18

Halfspacer
Adventurer
Have you tried using the Unity Profiler to see if there's anything in-game causing the performance drop? 

livio_vr
Honored Guest
Ah, of course! Dynamic throttling was likely what was hitting us.

And yes we know that our app isn't performant enough, and the Unity profiler has been helpful. The biggest issue was trying to prove that our performance improvements were having the intended impact versus just seeing more randomness in the data. Disabling dynamic throttling during out tests should solve that for us.

Also I neglected to mention earlier that we enabled 72 HZ mode for our app. But we might not actually need this for our game after all (it's not a fast-paced experience at all), and if it's just increasing the temperature of the device with no real need, then we should probably stop using it.

Halfspacer
Adventurer
72hz has many more advantages not related to the pacing of the game. While I see zero flicker in 60hz, I know many vocal people on Reddit shed tears of blood when they use 60hz apps. 
Something I do experience though is a noticeable increase in clarity and immersion. I would always Start with 72hz and optimize everything else. Dropping down to 60hz should be a last resort if after everything else you can't maintain stable fps or optimal battery life. 

If you make sure to use shaders optimized for mobile, less than 100 draw calls and vertex count below 100 000, you should in most cases be able to run at 72hz just fine. Batching (and making sure to atlas as many textures as possible for this), occlusion culling and performant code will be what keeps you afloat. 
Might also be worth turning on Fixed Foveated Rendering. 

bkj
Adventurer
Dropping down to 60hz should be a last resort if after everything else you can't maintain stable fps or optimal battery life.

Better set target to 60Hz and make it performant enough, and only then switch to 72Hz. It's very hard to hit 72Hz reliable with cpu/gpu 2/2, unless your game is really simple.


Halfspacer
Adventurer

bkj said:

Dropping down to 60hz should be a last resort if after everything else you can't maintain stable fps or optimal battery life.

Better set target to 60Hz and make it performant enough, and only then switch to 72Hz. It's very hard to hit 72Hz reliable with cpu/gpu 2/2, unless your game is really simple.




But if your target is 60hz, you'll have to be real lucky to be able to make the jump to 72hz. Whereas aiming for 72hz from the start and only dropping down to 60hz when 72 proves unsustainable, means you'll focus on optimizing what matters rather than making sacrifices upfront. 

bkj
Adventurer
and only dropping down to 60hz when 72 proves unsustainable,
You need to be stable at 60Hz first with the lowest cpu/gpu impact. Only after you achieve 2/2 or 1/2 or 2/1 or 1/1 then you can move to 72Hz. You could have game running at 72 with 3/3 4/4 but that's not optimization. Even going from optimized 60 to 72 is not so easy as it sounds (while keeping battery consumption/heat down).

Halfspacer
Adventurer

bkj said:
You need to be stable at 60Hz first with the lowest cpu/gpu impact. Only after you achieve 2/2 or 1/2 or 2/1 or 1/1 then you can move to 72Hz. You could have game running at 72 with 3/3 4/4 but that's not optimization. Even going from optimized 60 to 72 is not so easy as it sounds (while keeping battery consumption/heat down).

I think you misunderstood me, because I have no idea what you're on about now.
What I was saying was, that I find there are advantages to 72hz over 60hz in terms of immersion and overall clarity which benefits apps of any genre; And that, if you start your project with the 72hz target in mind as you develop, you'll be more aware of the cost and benefit of every design choice.
The benefit, would be that optimization becomes a natural and continuous part of your development process, rather than this big obstacle you have to tackle after months or years of targeting a stable 60hz and then having to go through and optimize every crevice in hopes that it'll be enough. And you won't end up spending time on parts of your game that you might have to cut to hit the 72hz target. 
But it's just my opinion that one should Fall Back to 60hz when all else fails and not Jump Up to 72hz if by some miracle the performance budget is there in the end. 

bkj
Adventurer
You logic sounds good on paper, but in reality it is very hard to hit 72Hz with good looks and decent battery life. Better to start optimizing for 60Hz with bigger eye buffers (you will have more clarity this way, than with 72Hz running regular size eye buffers). And only after you achieve that, you can start optimizing for 72Hz. Most games won't be capable of running at 72Hz, even if you start optimizing from the get go. It's better to target 60 with image clarity at best. If you take 100 developers only 5% will be able to achieve 72Hz performance (and mostly because less demandable games and not expertise).

Targeting 60Hz with larger eye buffers demands other optimizations as targeting 72Hz regular size eb.

Halfspacer
Adventurer
You're giving too much power to 72hz. It's really not that difficult a target to hit.
It's all about good approaches to making performant games. There are so many great apps running at 72hz on the Store right now. 
But we've simply got different approaches, you and I. I set my target high and lower it as I go. You assess the situation and set your target to what you feel is reasonable. No right or wrong way