Forum Discussion
bteitler
11 years agoHonored Guest
0.4.4 Prediction Setting Missing?
It's not obvious to me how we are supposed to set the prediction amount in 0.4.4. I don't see any mention of it in the changelog, but that setting no longer exists in the prefabs. Can someone advise on the right way to set this in 0.4.4?
Thanks,
Ben
Thanks,
Ben
3 Replies
Replies have been turned off for this discussion
- vrdavebOculus StaffMost of the time, you don't need to set the prediction time yourself. We do "dynamic prediction" for you as part of TimeWarp. When rendering begins, the poses of the eye anchors are predicted to the time when the current frame will appear for the user. If you need to predict the user's head pose or the IR tracker camera's pose to a specific time, use the optional predictionTime arguments to the OVRDisplay.GetHeadPose(..) and OVRTracker.GetPose(..) functions. You can use the difference between the times from Ovr.Hmd.GetFrameTiming(..) and Hmd.GetTimeInSeconds() to predict to specific times in the VR rendering cycle.
- bteitlerHonored GuestThanks for the reply. I understand how time warp works in theory, but it wasn't clear to me whether the SDK could actually predict what the true rendering latency was in all cases (different OS / versions, extended vs direct, etc) even after time warp is applied, which is why I assumed the setting was available before. Is the SDK now in a state where you are sure no one would want / need to add additional prediction? Maybe this is a silly question as I don't have experience writing graphics code at that low level, but it would surprise me to learn that this was solved for all platforms already.
Thanks again,
Ben - vrdavebOculus Staff
"bteitler" wrote:
Is the SDK now in a state where you are sure no one would want / need to add additional prediction?
Good question. We now manage prediction for you in the SDK, so manual head pose prediction shouldn't be necessary. If you're using DK2 and vsync is enabled, then the dynamic prediction gives you the best predictions about when the frame will be visible to the user. But even if you disable vsync and use DK1 (which lacks dynamic prediction), we use the display's switching time and knowledge about latency on the different driver codepaths to estimate when the frame will scan out. If you are seeing significant latency, make sure your app isn't queueing frames or doing additional buffering.
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
- 8 years ago
- 17 days ago