Forum Discussion
ryahata
12 years agoHonored Guest
VSync & GFX.WaitForPresent
Currently the VR experience that I'm working on has a lot of judder due to FPS being lower than 75. When I poked around in the profiler I noticed that most of the "lag" was due to GFX.WaitForPresent. I did a little looking in Unity Answers and it seems that GFX.WaitForPresent has to do with VSync. Is this correct?
Are there tips/tricks on how to reduce the time spent on GFX.WaitForPresent? I'm doing all kinds of frame rate optimizations (mesh reductions, lowering particle count, swapping out render textures for canned looped videos, no real time shadows, etc).
Also, has anyone gotten one of their VR experiences to run judder free in Direct HMD Access mode at FPS < 75? I know there were a few forum topics about judder being present at FPS < 75 and I was wondering if people have figured out a way to do it without VSync tearing.
Finally is there a way to run the DK2 in Direct HMD Access mode at 60 Hz? I'm curious if that would help the judder at FPS < 75.
Thanks :)
Are there tips/tricks on how to reduce the time spent on GFX.WaitForPresent? I'm doing all kinds of frame rate optimizations (mesh reductions, lowering particle count, swapping out render textures for canned looped videos, no real time shadows, etc).
Also, has anyone gotten one of their VR experiences to run judder free in Direct HMD Access mode at FPS < 75? I know there were a few forum topics about judder being present at FPS < 75 and I was wondering if people have figured out a way to do it without VSync tearing.
Finally is there a way to run the DK2 in Direct HMD Access mode at 60 Hz? I'm curious if that would help the judder at FPS < 75.
Thanks :)
2 Replies
Replies have been turned off for this discussion
- vrdavebOculus Staff
"ryahata" wrote:
When I poked around in the profiler I noticed that most of the "lag" was due to GFX.WaitForPresent.
Gfx.WaitForPresent is kind of a catch-all that appears anytime the CPU waits for the GPU to finish a frame. You can check the GPU profiler to see what's taking up the time."ryahata" wrote:
Also, has anyone gotten one of their VR experiences to run judder free in Direct HMD Access mode at FPS < 75?
Rendering really needs to keep up with the display refresh rate. The moment it drops, the experience will be significantly worse. But it may fail more gracefully if you disable TimeWarp, VSync, and Low Persistence in OVRCameraController."ryahata" wrote:
Finally is there a way to run the DK2 in Direct HMD Access mode at 60 Hz?
This doesn't seem to be possible in direct mode. But you can force it to 60Hz in extended mode. Note that DK2 has a hardware feature that disables low persistence by default when running at 60Hz. If that happens, you can still make it use low persistence if you toggle it twice after the app has started up. - ryahataHonored GuestThanks for the reply vrdaveb.
I did another framerate reduction pass on my scene and I think I'm getting 75 FPS during most of the experience. Had to sacrifice a few things but the end product is still acceptable.
Thanks again for the help!
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
- 3 years ago