Skip to main content
Participant
December 10, 2015

Question about framerate and CV1 release

Hello,

I couldnt find an adequate answer to this question anywhere but I would have expected it to have been asked already...

I am working with unity and I have a test machine running slightly above oculus recomended system requirements however I am using the DK2 which only needs 75fps (which it is currently running at).

Does that mean that when the public gets the CV1 my game will not work correctly because its not hitting 90fps? - (like what happens if you drop much below 75fps in DK2?) or if my game runs fine in DK2 @ 75fps will that mean it will run fine in CV1 @ 75fps?

If the CV1 does need my game to run at the full 90fps to stop it juddering out then somebody please tell me how it is possible that Unity can be used with the Oculus recomended system to obtain 90fps? - becase currently an empty scene in Unity on the recomended system runs at around 75fps.

What am I missing?

Thank you in advance for your time
    This topic has been closed for replies.

    8 replies

    Inspiring
    December 10, 2015
    By default vsync is enabled to hit the 75 fps mark, you can disable it to see what your potential framerate is. You'l have a lot of judder since the framerate wont be locked, but you should at least be able to see if you're hitting the 90+fps mark

    here's some sample code that worked with 0.6.0 release, not sure if it's changed since

    if(Input.GetKeyUp(KeyCode.N)){
    uint caps = OVRManager.capiHmd.GetEnabledCaps();
    caps ^= (uint)HmdCaps.NoVSync;
    OVRManager.capiHmd.SetEnabledCaps(caps);
    }
    Up and Coming
    December 10, 2015
    ooo, Ill have to try that..
    Iv been working with upping my rendered resolution to validate that I'm going to work on the CV1.
    Inspiring
    December 10, 2015
    So, you won't be able to disable V-Sync any longer (and looking at FPS is not the most accurate performance indication anyhow). You can use the Oculus performance HUD or Unity profiler to show the frame times and hope they are less than 11ms per frame.

    Also keep in mind that the consumer Rift has a larger render buffer and higher refresh rate, so games that are just meeting the performance budget on DK2 will be stuttering on a consumer Rift. So you will have to optimize the game to account for this.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    burning01Author
    Participant
    December 11, 2015
    @cybereality

    I am using Unity 5.2 and Unities Native VR with DK2 (and Oculus recomended spec test machine)
    Which as far as I'm aware the V-sync cant be changed or at least everything Ive done it stays locked on - to every frame.
    I am rendering to the DK2 @ 2402x1464 (which is what the Oculus Utilities v1 prefab is set to by default)

    So on the Oculus performance HUD I should be looking at "Total GPU time" which should be lower than 11ms per frame?
    and if that is correct; then so long as I'm keeping the "total GPU time" lower than 11ms per frame it will work on the CV1 ?

    If thats not right then please let me know what it is I need to do to make sure that my game works on the CV1

    Is there no way to get hold of the CV1? - my game is fairly near compleation but I need to make sure it will work on the CV1 before I can call it done.
    Inspiring
    December 11, 2015
    Please see viewtopic.php?t=26628. If you want to simulate the number of pixels per second required by CV1, try setting your render scale (native texture scale) to 1.25. Of course, that won't account for the 2ms decrease in frame time, which will affect the number of vertices and draw calls as well as the CPU headroom you have for scripts, physics, and animation.
    burning01Author
    Participant
    December 12, 2015
    ok thank you, I'll give that a go
    Inspiring
    December 13, 2015
    "vrdaveb" wrote:
    Of course, that won't account for the 2ms decrease in frame time, which will affect the number of vertices and draw calls as well as the CPU headroom you have for scripts, physics, and animation.

    Would it help testing to just add a loop that waits for 2ms, once per frame?
    Scorched Battalion - VR Jam edition available for Gear VR and DK2 (Win/Mac/Linux) Jungle Juice Sven Co-op
    Inspiring
    December 14, 2015
    Sure, that could help a little. Also make sure that in the Perf HUD's Render Timings view, the App Render CPU and GPU times are both under 11ms. The Unity profiler's CPU and GPU Usage views will probably continue to report 13.3ms, but you should see at least 2ms of the time spent in "Other", which counts vsync and other overhead.