Skip to main content
September 24, 2015

5.1.2p2 -> 5.2.1f1 - Large Performance Loss

Long post short (i.e. tl;dr;): Avoid 5.2.1 for now. Major performance loss. I'm sure nobody will read the rest of this since Oculus Connect is happening now, but if you want more details, read on!

Just a heads up for those who are tempted to try 5.2.1 that came out 2 days ago. I'm seeing a large performance drop, similar to what was seen when moving to 0.1.0 utils and away from legacy integration. That performance drop was fixed in 5.1.1p3 -> 5.1.2p2, but now something worse seems to have happened 5.1.2p2 -> 5.2.1f1.

I had previously posted these "benchmark" results in the "Oculus Utilities for Unity 0.1.0 Beta released" topic when I was seeing issues with 5.1.1p3 + 0.1.0 utils. This benchmark is a measure in ms of how much CPU time is left for your own scripts outside of rendering a fairly complex scene. I put this together so I could track how Unity + Oculus runtimes improved or degraded over time. It involves a script that acts as fake CPU load, that allows adjusting ms of CPU load until frame skips and judder kick in. This essentially calculates the performance overhead you have. Here were my previous results from the other post:

5.1.1p3 + 0.1.0 Utils: 6.0ms
5.1.1p3 + 0.5.0.1 Legacy Integration: 9.0ms
5.1.2p2 + 0.1.0 Utils: 7.9ms
5.1.2p2 + 0.5.0.1 Legacy Integration: 9.0ms

New data for 5.2.1:
5.2.1f1 + 0.1.0 Utils: 4.0ms

Not good. Can't do much with 4ms of CPU time. I'm rolling back to 5.1.2p2. Unfortunately this means the 0.7 features can't be used as that is what 5.2.1 offered up:

http://unity3d.com/unity/whats-new/unity-5.2.1

VR: Oculus: Upgraded to 0.7 dependencies.
VR: For Windows Oculus Development, the Oculus 0.7.0.0 runtime is required in order to run in VR mode. Future releases will also require this runtime going forward.

I did verify the performance monitor HUD is working now in 5.2.1f1, but unfortunately it just tells me the performance sucks. :)

I'm starting to cringe every time a new SDK version and/or Unity version comes out.

ccs
    This topic has been closed for replies.

    58 replies

    Inspiring
    October 2, 2015
    @drash, can you retry with 5.2.1p2?
    Inspiring
    October 2, 2015
    "vrdaveb" wrote:
    @drash, can you retry with 5.2.1p2?

    Sure thing. Just re-ran all my tests with 64-bit builds thrown in, Unity closed down, minimal CPU usage in background:

    5.1.3p2 32-bit: 7.65
    5.1.3p2 64-bit: 8.5

    5.2.1p1 32-bit: 6.6
    5.2.1p1 64-bit: 7.3

    5.2.1p2 32-bit: 7.1
    5.2.1p2 64-bit: 7.5


    I'll tell you one thing... I'm making 64-bit builds from now on!
    Titans of Space PLUS for Quest is now available on DrashVR.com
    October 2, 2015
    Thanks for posting some more numbers Drash! Maybe with more data we will get to the bottom of this. I didn't notice any difference in numbers if I close the Unity editor or not.

    I just ran some numbers on my other machine, which is a less-capable i5-4570@3.2Ghz + 760 GPU. I was too lazy to move my DK2 over to it, so these numbers are with DK1 and not really comparable to the other numbers since DK1 is 60fps cap so there is more CPU overhead to work with, not to mention the reduced render texture sizes. But still, the relative difference is still quite obvious:

    5.1.3p2: 12.4
    5.2.1p2: 8.3
    5.2.1p2 (+ Dave's alpha utils): 8.6

    In addition, I just added a FPS counter to the project, and then I run the same tests with VR enabled option in Unity turned off. This allows me to see max FPS in different versions of Unity taking VR out of the equation. With that running on same 760 machine + DK1 (therefore DK1 sized game window):
    5.1.3p2: 215fps
    5.2.1p2: 217fps

    Perhaps full machine specs and windows and driver versions could also help here:

    Machine 1 (where my original benchmarks were run):
    i7-4710@2.5Ghz
    980M (no optimus - performs somewhere between 960 and 970)
    Windows 8.1 64-bit
    Nvidia driver 355.98

    Machine 2 (benchmarks for this post):
    i5-4570@3.2Ghz
    GTX760
    Windows 8.1 64-bit
    Nvidia driver 355.98

    Dave mentioned to me he was running Win7-64bit.
    October 2, 2015
    On my DK2 machine, with non-VR test I get:
    5.1.3p2: 278fps
    5.2.1p2: 278fps

    Oh and 0.1.2 utils are out. Time for another round of testing. Maybe I should just call it a night. arg. :)

    https://developer.oculus.com/downloads/ ... r_Unity_5/
    Inspiring
    October 2, 2015
    So how do these tests relate to Gear VR performance? Is it just a concern for desktop VR?
    October 2, 2015
    I haven't tried it on my GearVR, but I would guess this is only desktop related. If I can find some time later, I'll give it a try with a scaled down scene that would work on GearVR. I have been focusing all my time on CV1 targeted VR applications lately which is why I haven't tried it.

    I also found no difference between 0.1.0 utils and 0.1.2 utils. The numbers come out nearly the same, with large discrepancy in Unity versions that use 0.7 plugin.

    ccs
    New Participant
    October 3, 2015
    We are also experiencing performance drop when migrating from 5.1.3f1 to 5.2.0+ versions of Unity.

    It is worth noting that this is in builds, and not in the editor.
    Inspiring
    October 3, 2015
    "ccs" wrote:
    Svenviking or anyone else that wants to try out my performance "benchmark" project, here it is:

    https://www.dropbox.com/s/9909zszlo5oma ... 2.zip?dl=0

    Thanks! Looks like it doesn't work for Android, unfortunately (with a simplified scene). The graph doesn't appear and the canvas text is always 7.80.
    Scorched Battalion - VR Jam edition available for Gear VR and DK2 (Win/Mac/Linux) Jungle Juice Sven Co-op
    Inspiring
    October 4, 2015
    Thanks, everybody. We are taking a look at this and should have a fix within a few weeks. For now, I would recommend those affected by the extra overhead stay on 5.1.3p2.
    October 5, 2015
    Excellent news Dave! Thanks for keeping us in the loop. I guess this means you were able to reproduce the issue in-house.

    After messing around with different Unity versions more, the problem definitely started with 5.1.3p3, and I determined that this version is the 1st one to move to using 0.7 plugin as can be seen by the CAPI log message in Unity.

    ccs