Need help understanding Vsync

Developing some stuff on the DK2 (latest 0.4.3 sdk) using latest UE4 (4.5.1) with a nvidia GTX 750ti

here is a link to my blueprint with the absurd amount of console commands i have to execute to get my level to run decent:

the viewer just sits back and is led through a landscape where they just look around.

When I put the console command hmd vsync off my game works seemingly much better. I get about 20-30 more FPS and way less jitter due to being under 75 FPS. I actually have to keep my FPS at max 80 with vsync off because if it gets to 90 or 100 the game gets a little jittery. so i just do t.MaxFPS 80 and the game seems to run fine.

what is vsync for in VR? what is it doing? why can i get such better FPS without it? am i better without it? i sort of understand it from googling around…it makes sure your FPS is in sync with your monitor or something. But with oculus we pretty much have to have a constant 75FPS, right? anything more or less seems to mess things up.

So should i keep it off? what exactly am i loosing without it? why would anyone use it with oculus?

thanks for any knowledge! there isn’t a lot out there about vsync with VR that i could find.

If you turn off vsync you will get worse latency, higher fps and artifacts like tearing. Vsync in the Oculus SDK is also necessary for frame flushing, lower latency and even tied into how timewarping works now.

You get better performance since your GPU is better utilized. Currently the SDK makes the GPU wait until the current frame is finished and displayed before moving on, to reduce overall latency in the system.

Things will get better as the SDK continues to improve, for example when we get async timewarping on PC.

Bottom line: Keep vsync ON and simplify your game to run above 75fps with it :slight_smile:

thanks that was super helpful.
in a lot of forum conversations people are turning off vsync. but yes there does seem to be a less than perfect experience with it off. but now ****…back to turning all my graphics down to 0 just to get 75 fps. i feel like with the new SDK update things are even worse than before. they have all these new updates to make it work better with unity but nothing with ue4.

They are working quite a lot on the UE4 integration too :slight_smile: But I agree they need to find a way to keep latency down while still allowing the GPU to be loaded.

To be honest, a lower framerate is very obvious to players in VR. But a little longer latency isn’t that obvious to normal players. I will give my users an option to turn off Vsync at least.