Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
roback's avatar
roback
Explorer
9 years ago

Gear VR S6 Android 5.1.1 vs 6.0.1 - performance drop - WaitForGPU/vsync issue

Hi!
We are developing VR game for Gear VR (and Rift later on). Recently we spotted performance drop from stable 60 fps down to 30. Further search showed up it's due to abnormally high WaitForGPU and that it's happening only on Android 6.0.1 (we have to S6 phones and one has updated to Marshmallow while the other did not).

Is something broke in Samsung's Android itself? Drivers? Is it on Unity? Oculus utilities? How even process further such issue? Image below shows profiler running. At first on updated S6, then on 5.1.1. S6. Build is exactly the same, all Oculus software on phones updated. Still - it's broken and v-sync part goes mad on newer version.

Also - we have only 19 draw calls and all assets with broad margin to recommended for mobile VR.


9 Replies

Replies have been turned off for this discussion
  • This may or may not help, but check to make sure power saving mode for the device is off. I noticed when updated a device to marshmallow that this setting was flipped back on by default.
  • We checked power saving mode but it was not the case, it was still disabled.

    We're using Unity 5.4.0b9 now and it worked without any problems before Android version upgrade. We created both builds from this Unity version and only Android 6 coulnd't handle 60fps. We tested a build on Unity 5.3.4 as well and the problem happens there as well, profiler shows 30FPS but the big amount of work is presented under "other" instead of "VSync" category. We're using 1.3.0 plugin for both 5.4.0b9 and 5.3.4 versions of Unity.

    I'm attaching some logcat prints, a copy for Unity 5.4.0b9 build named NewUnity and a copy from 5.3.4 version build - OldUnity .
  • vrdaveb's avatar
    vrdaveb
    Oculus Staff
    @aelita1992, are you sure you're using Unity's built-in VR support? It looks like you're using a version of our legacy Unity 4 integration that has been modified to work with Unity 5, which would be unsupported. If you've upgraded from an old Unity 4 project, please follow the upgrade section at http://docs.unity3d.com/Manual/VRDevices-Oculus.html. Basically, delete OculusPlugin and the OVR and Moonlight folders from your project and import the Utils downloaded from https://developer.oculus.com/downloads/game-engines/1.3.0/Oculus_Utilities_for_Unity_5/.
  • Didn't notice ovrRig is an obsolete construct.

    Getting rid of ovrRig and placing standard camera instead helped a lot indeed. The framerate is closer to what it was before and the drop is much smaller, even though the max tris limit is still about 5-10k lower before the <60fps drop appears. Anyway it seems the direction is correct, I gonna perform further research on the problem, thank you for fast and succesful help :)
  • vrdaveb's avatar
    vrdaveb
    Oculus Staff
    OVRCameraRig is not obsolete. It has been re-implemented for Unity 5. It looks like you were using a very old version. You can get the new copy from the link I provided.
  • Dahrrr's avatar
    Dahrrr
    Honored Guest
    Hi.
    We have the same problem. Our game have only 60 or 30 fps. Nothing between. Even in almost empty room. This really looks like vsync. We replaced old ovr scripts but this didn't help us. We are working on unity  5.3.4p1. We have new android sdk and everything is actual.
    Few observations:
    - It shows only at scenes where we use occlusion culling
    - Scene without occlusion culling (like one room) have good performance. 60k tri, 60 batches and stable 60 fps. It's much much heavier than in next example.
    - Scene with occlusion culling (few rooms). When we look into place, where next rooms should be (behind wall), we get stable 30 fps. If we move camera a bit, than we get 60 fps again. It have drop from 60 to 30fps in one moment, we never get any fps between. We test that in room with 10k tri and 20 drawcalls. So it's impossible to get such fps drop.
    Regards,
    Bartłomiej Galas

  • DoctorZ's avatar
    DoctorZ
    Honored Guest
    This is so bad, we are experiencing the same issue on Samsung Galaxy S6 Edge on the Gear.
    Was all smooth and fine, until Android 6 Marshmallow update came, and the performance became really poor.
    Now motion sickness is very heavy, because of framerate is low on the simplest scene.
    Also, after Android 6 update, many time the stand-by mode (when you unwear the gear) is hanging the phone badly, and also many power press make it answer back (this is not only a Unity apps issue).
    What is going on ?
  • T-mobile - SM-N920T - Note 5 - After upgrade to 6.0.1 - major problems. 

    1. Phone goes from 100% to 50% in about 4 hours, with NO use. 
    2. Gear VR does not work
    3. Constant pop-up of black screen with small X in bottom right.  Accompanied with the sound Gear VR makes when user connects to head set. 
    4. Oh yea, constant pop-up of black screen with small X in bottom right whenever using phone
    In summary - Upgrading the Note 5 made battery life nonexistent, renders my GearVR headset useless, and get constant black screen pop ups that last about 3 seconds. 

    Did cache wipe and factory reset.  Twice.  Same problems.  DO NOT UPDATE TO MARSHMALLOW 6.0.1!!!  If you were able to update with no problems, good for you.  Not worth the risk of having a useless phone for those who have not.