Forum Discussion
david_edwards
10 years agoHonored Guest
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
Is disabling vsync broken on 0.60 SDK or am I missing something?
Thank you,
David Edwards
14 Replies
- cyberealityGrand ChampionAre you using the C++ SDK or a specific engine?
- david_edwardsHonored GuestI'm using the C++ SDK with our internally developed engine.
- RajveerExplorerI too am unable to disable vsync with ovrHmdCap_NoVSync, using OpenGL.
- MichaelNikelskyHonored GuestSame 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. - drashHeroic ExplorerI 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.
- opampProtegeI 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. - craigmcnHonored Guest
"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. - david_edwardsHonored GuestI 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.
- cyberealityGrand ChampionFor 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).
- craigmcnHonored Guest
"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.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 5 months ago
- 9 months ago
- 9 years ago