cancel
Showing results for 
Search instead for 
Did you mean: 

Unity Game in GearVR Overheating and Stale Frames

kbramk
Honored Guest
The only time it goes up to 60FPS is on the loading screens.  During gameplay there are a ton of stale frames.  The game is fully playable and though the frame rate is low it's functional, fun, etc...

But to meet the requirements of the samsung gear vr store, this game needs to have 60FPS and not cause the phone to overheat after 15 minutes or so.  I've tried all sorts of different things including but not limited to:

throttling CPU/GPU
enabling/disabling: MSAA, VSync, Occlusion Culling, ...

In the Unity profiler there are minimal spikes but the few that did happen (and they happen very rarely) were:

NavMeshManager.WaitForJobGroup
and
ParticleSystem.EndUpdateAll

The stale frames do stop if I pause the game (game has a pause function) and then it runs smoothly (~60FPS) until something??? happens and the stale frames come back and it runs at 20FPS again.

I think the overheating and the low frame rate might be separate problems but might also be related.  Have been messing around with different builds and different settings for weeks.  Would like to ship this game now.  Please help.
7 REPLIES 7

kbramk
Honored Guest
I didn't even know about the performance auditing tool.  that's this right? ovr lint?  i just ran it and posted screenshot of what it showed.  Unity Profiler found nothing outside what I mentioned above.  Maybe there's a way to make the test more sensitive?  Computer is too powerful and everything runs at 1000+ FPS all the time and the few times it wasn't were mentioned in the OP (and this happened for a second at most and then back to 1000 FPS).

If there's a way to make it so the Unity Profiler shows something, pls let me know and I'll provide that info as well. TIA

delphinius81
Rising Star
Have you pulled information from adb logcat? Or used the oculus remote monitor?

kbramk
Honored Guest
Unity 5.6.3p1 @imperativity

And no i'm not familiar with the oculus remote monitor so I'm reading on it now

kbramk
Honored Guest
Edit: So I applied the changes from the OVR Lint thing and still have the same issues.

This is what it looks like now.  When I try the 'fix' for Scripting Backend the game no longer builds an APK so I didn't touch that one.  Not sure how to fix the materials.  The guy who worked on all that mysteriously disappeared.

kbramk
Honored Guest
I just reverted back to old project settings and applied the fixes as I edited my post after you replied to it. @imperativity

I tried removing the materials and that got the framerate up but I still had stale frames.  see the screenshot linked in my post above of the OVR Lint.  I don't know how to fix anything past this.  Deleting things helps the problem but with no assets to replace them with it doesn't really help the problem.

Anonymous
Not applicable
Hi @kbramk or @imperativity.
I am having the same issue when building for the Oculus Go. Was a solution ever found to this issue?
Thank you for your help!

PAalto
Expert Protege
Hello Dylan, welcome to the forums!

Have you made sure your project is simply not too heavy for Oculus Go to run? Use the "Stats" display on Unity Game view, and make sure your Tris and Verts are both less than 100K, your Batches and SetPass calls are both less than 100, you don't use real time shadows, and you use only one real time light. Also make sure you don't use Standard Material anywhere, all materials need to be Mobile versions. I have found best results when not using even the mobile shaders, rather create and optimize every shader I use to have only exactly the features I absolutely need.

If those are all OK, the next step is to check your scripting. Try disabling heavy scripts, collisions, physics and stuff like that, to see if that helps.

Oculus Go and Gear VR are rather low-power devices, so many things that run fine on a PC and Rift do not run well on Oculus Go and Gear VR.

Hope this helps, at least to get you on track for figuring out where the problem might be!