Skip to content

Thanks for the detail document, will the interface include pose some day? #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
shensheng27 opened this issue Jul 5, 2017 · 2 comments

Comments

@shensheng27
Copy link

It is very nice to see a detail document, it help a lot to make the IVRVirtualDisplay clear.

For now the interface don't contain pose (comparing to IVRDriverDirectModeComponent), which is needed in warpping.

BTW now i facing the Jitter when using IVRDriverDirectModeComponent, its would be nice to see a similar document about IVRDriverDirectModeComponent. For example, IVRDriverDirectModeComponent not provide a way for driver to submit vsyns time so how IVRDriverDirectModeComponent know the vsync time ?(my wild guess is by the return time of IVRDriverDirectModeComponent::present?

@aleiby
Copy link
Contributor

aleiby commented Feb 26, 2018

For IVRDriverDirectModeComponent, you can send vsync events by setting the following property:
Prop_DriverDirectModeSendsVsyncEvents_Bool
Then calling VRServerDriverHost()->VsyncEvent with the time in seconds until the next vsync, before returning from Present.

For pose, it isn't clear which pose should be passed, or what space it should be provided in (particularly since drivers can only get 'raw' tracking poses to compare against).

@xulzee
Copy link

xulzee commented Jun 3, 2019

Hello everyone,
When i setting Prop_DriverDirectModeSendsVsyncEvents_Bool to True.

This seems to produce a hidden vertical sync time (approximately 16.6ms), which means that the present function is called every 16.6ms (60hz).

I tried adding a manual insert vsync, for example, calling vr::VRServerDriverHost()->VsyncEvent(0) every 13.3ms (75hz), but the actual situation is that he becomes 75 + 60=135hz, which means the default 60hz still exists.

When i setting Prop_DriverDirectModeSendsVsyncEvents_Bool to False. After each frame is rendered, it will be directly presented. The frame rate is not fixed. This is not what I want.

How can I eliminate this hidden 60hz Vsync?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants