Forum Discussion
Ttakala
10 years agoHonored Guest
Another judder datapoint: sometimes DX9 is better than DX11
My standalone application (Direct HMD access) was suffering from very annoying judder in Windows 8.1 which I tried to fix by trying several different combinations of Nvidia drivers, 32/64-bit builds, and DX9/11. Finally I found out that switching to Windows 7 and using a Unity standalone DX9 build solved the judder. My Win7 install had GeForce 311.06 drivers (I didn't try other drivers in Win7). The computer is equipped with Geforce GTX 660.
What is alarming is that in Windows 8.1 I did not find any satisfying ways to fix the judder. The judder is gone if I disable vsync via OVRManager.capiHmd.SetEnabledCaps(), but that introduces a slightly noticeable motion-related rendering artifact when compared to the working Win7 DX9 solution that has vsync on. Disabling time warp in Win8.1 also fixes the judder but this is not an acceptable solution cyber-sickness wise.
Here are the different configurations that I tried in Win8.1 to no avail (different combinations included):
My application congruently reached the following FPS:
Standalone (deltaTime-based FPS calculation)
- Vsync on: 75 FPS, massive judder
- Vsync off: 200 FPS, no judder
Unity Editor (FPS reported by Unity stats)
- Vsync on: 60 FPS
- Vsync off: 280 FPS
It would be great if there was a way to make my application to work in Win8.1 without judder but with vsync enabled.
I'm using Unity 4.6.2, and for some of the DX11 builds I tried both enabling and disabling the "D3D11 Force Exclusive Mode" in Unity Player Settings.
What is alarming is that in Windows 8.1 I did not find any satisfying ways to fix the judder. The judder is gone if I disable vsync via OVRManager.capiHmd.SetEnabledCaps(), but that introduces a slightly noticeable motion-related rendering artifact when compared to the working Win7 DX9 solution that has vsync on. Disabling time warp in Win8.1 also fixes the judder but this is not an acceptable solution cyber-sickness wise.
Here are the different configurations that I tried in Win8.1 to no avail (different combinations included):
- DX9 and DX11 Unity standalone builds
32- and 64-bit Unity standalone builds
Nvidia 344.75 and 347.52 drivers
My application congruently reached the following FPS:
Standalone (deltaTime-based FPS calculation)
- Vsync on: 75 FPS, massive judder
- Vsync off: 200 FPS, no judder
Unity Editor (FPS reported by Unity stats)
- Vsync on: 60 FPS
- Vsync off: 280 FPS
It would be great if there was a way to make my application to work in Win8.1 without judder but with vsync enabled.
I'm using Unity 4.6.2, and for some of the DX11 builds I tried both enabling and disabling the "D3D11 Force Exclusive Mode" in Unity Player Settings.
2 Replies
Replies have been turned off for this discussion
- vrdavebOculus StaffTry doing this in one of your scripts' start methods. It will disable "Just-In-Time" TimeWarp, where we spin-wait until a few milliseconds before scanout to perform rotational correction. In many cases that wait can make you miss the frame deadline.
OVRManager.display.distortionCaps &= ~(uint)0x1000;
- TtakalaHonored Guest
"vrdaveb" wrote:
Try doing this in one of your scripts' start methods. It will disable "Just-In-Time" TimeWarp, where we spin-wait until a few milliseconds before scanout to perform rotational correction. In many cases that wait can make you miss the frame deadline.OVRManager.display.distortionCaps &= ~(uint)0x1000;
Unfortunately that did not make a difference. I inserted your code line in Start() (I tried it both in a "Default Time" script and another that is executed before OVRManager). Also I did not notice a difference when I tried toggling the setting in run-time.
I tried this in Win8.1, Nvidia 344.75 drivers with the following combinations:- DX9 and DX11 Unity standalone builds
"D3D11 Force Exclusive Mode" on and off
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
- 6 months ago