Skip to main content
New Participant
June 8, 2015

Can't seem to disable vsync with 0.60 SDK with D3D11

On 0.50 SDK I could disable vsync by using ovrHmdCap_NoVSync, this doesn't seem to have any effect on the 0.60 SDK. It's convenient to disable vsync when testing performance.

Is disabling vsync broken on 0.60 SDK or am I missing something?

Thank you,
David Edwards

    14 replies

    Inspiring
    June 8, 2015
    Are you using the C++ SDK or a specific engine?
    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
    New Participant
    June 8, 2015
    I'm using the C++ SDK with our internally developed engine.
    Up and Coming
    June 9, 2015
    I too am unable to disable vsync with ovrHmdCap_NoVSync, using OpenGL.
    Up and Coming
    June 17, 2015
    Same for me in OpenGL, which is very annoying because the SDK now forces V-Sync instead of using adaptive V-Sync.
    Please change the V-Sync to adaptive V-Sync, dropping to 37fps from 75fps just because the application can only render 70fps is very annoying and distracting.
    Inspiring
    June 17, 2015
    I haven't touched PC 0.6.0 SDK yet, but if it still has the issue where sudden changes in app performance cause the SDK to mis-time how long each frame takes and sends it into a judderrific 37 FPS when it actually could run well above 75 FPS, then it's going to be important to still have the ability to toggle vsync as that's the only way I've found to automatically work around that issue in my apps.
    Titans of Space PLUS for Quest is now available on DrashVR.com
    Up and Coming
    June 21, 2015
    I can confirm that this is an issue with UE4(4.7.6/4.8) as well with the 0.6.0 sdk/plugin. Disabling Vsync does nothing.

    Plus theres a few other bugs in regards to mirroring and changing screen percentage which I'll explain in another thread when I get the chance.
    DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.
    Up and Coming
    June 26, 2015
    "drash" wrote:
    I haven't touched PC 0.6.0 SDK yet, but if it still has the issue where sudden changes in app performance cause the SDK to mis-time how long each frame takes and sends it into a judderrific 37 FPS when it actually could run well above 75 FPS, then it's going to be important to still have the ability to toggle vsync as that's the only way I've found to automatically work around that issue in my apps.


    I'm seeing those judderific drops in the 0.6.0 SDK using OpenGL. Very simple scenes that can run 100's of FPS are getting sporadic frame misses (and my internal timers tell me it's dropped to 37.5fps for that frame) and the render judders horribly in the Oculus. Vsync is broken for me as well, so I can't turn it off to find the true performance I'm getting, or where the problem is.
    New Participant
    July 1, 2015
    I noticed V0.6.0.1 removes the flag ovrHmdCap_NoVSync. So I guess it's official that vsync will always be forced on. Is there an official word on if disabling vsync will be brought back? I also noticed that to run vsync locked at 75fps, I needed to run considerably higher than 75 fps (about 100 fps) with vsync turned off.
    Inspiring
    July 1, 2015
    For better (or worse), VSync is now forced on. It was determined that using VSync off caused too many issues in terms of user comfort. So developers are highly encouraged to ensure their games can meet performance requirements without dropping frames. For debugging purposes you can either profile your app in your engine editor or use the Oculus performance HUD (which is sort of beta right now but will be much more fully featured in the future).
    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
    Up and Coming
    July 1, 2015
    "cybereality" wrote:
    For better (or worse), VSync is now forced on. It was determined that using VSync off caused too many issues in terms of user comfort. So developers are highly encouraged to ensure their games can meet performance requirements without dropping frames. For debugging purposes you can either profile your app in your engine editor or use the Oculus performance HUD (which is sort of beta right now but will be much more fully featured in the future).


    Yeah, that's definitely for worse. We'd never ship anything with v-sync off, but performance analysis with v-sync on is next to impossible. So much gets hidden by that SwapBuffers() or ovrHmd_SubmitFrame() call that a profile just shows that chewing all the time and you've no way of knowing how much time is spent finishing the render and how much is spent spinning waiting for the sync. ovrHmd_SubmitFrame is already far too unpredictable, this just makes matters worse.