Download

How to deal with the 37.5 fps problem?

If a game dips just below 75 fps (let say 74 fps), UE4 will wait one full frame before it updates the current frame. This cuts the frame rate to exactly 37.5 fps instead of the 74 fps.

If Vsync is disabled the game will run at 74 fps but it will also introduce screen tearing. High framerate is crucial to VR games so this is preferable over the 37.5 fps and no screen tearing.

I guess the best approach is to have vsync enabled by default, but if framerate drops below 75 fps for a few seconds Vsync should be disabled.

What do you think about this? Any other solutions?

And is it even possible to change Vsync at runtime?

the best thing oculus has claimed is to always hit 75fps. I am for always having extra head room (a lot of extra headroom) as playing VR and dropping even a few frames makes you sick. You need 75 frame or low persistance turns off. You can rely on time warping but only as a really odd frame loss. You shouldn’t rely on it. Honestly if you want good VR monitor your FPS in code and make sure you never go over it. If you do you need to fix something/lower quality/etc. The next rift is probably going to be 90fps as thats what the latest prototype is and they have said its very close to consumer version so you need to always make 75 or you will never make 90.

That would be an obvious solution if all gamers was using the same hardware. Unfortunately they don’t.
The problem is that if your hardware is just one single frame to slow, a VR game is unplayable while a traditional game will be just fine.
I really don’t want to target my game for the lowest hardware available, so that’s why I want to disable vsync if framerates are getting unplayable.