Skip to content
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

Display is gray when localTimeOverride = false #294

Open
rpavlik opened this issue Jan 16, 2017 · 4 comments
Open

Display is gray when localTimeOverride = false #294

rpavlik opened this issue Jan 16, 2017 · 4 comments
Labels

Comments

@rpavlik
Copy link
Member

rpavlik commented Jan 16, 2017

I was attempting to bisect the settings that produce a judder, and considered that the override of timing data when VSYNC is on might be related. However, I discovered that while there is a "localTimeOverride" option in the RM config file, setting it to "false" and running the D3D Present demo result in a grey screen that flickers once every few seconds.

This was on a VS2015 build, so we had high-quality timing data all over, and the tracking was from the new tracker plugin which uses its model to "predict" to "now", immediately before reporting. (Judder/wobble is seen when RM prediction is enabled and not seen when it isn't.)

I would expect this to not happen :) If we can't use the transmitted timestamp directly, we should at least be using relative offsets to our internal timestamp.

@rpavlik rpavlik added the bug label Jan 16, 2017
@russell-taylor
Copy link
Contributor

Cannot reproduce when using an HDK 2.0 for tracking with an extended-mode window-based output using the sensics-home-russ branch of RenderManager and the attached config file (you'll want to edit the starting position of the window) and the RenderManagerD3DPresentExample3D application.

Could verify that predictive tracking was happening by changing the prediction interval to 1600 and seeing large jumps due to tracker noise.

nondirectmode_window_nonlocaltime.json.zip

@russell-taylor
Copy link
Contributor

Grey (0.3,0.3,0.3) is the clear color for the application and is what would be rendered if the head were outside of the 2-meter cube surrounding the center. My test used orientation-only tracking so would never produce that outcome. I did not notice any artifacts in the orientation other than those expected when the prediction interval was large.

It is possible that positional prediction has not worked, since I don't know that it has been tested.

@russell-taylor
Copy link
Contributor

The translation-prediction code is pretty straightforward; it might be going in the wrong direction but it should not be shooting off very far unless either the time interval or the velocity is large. Line 1538 of RenderManagerBase.cpp provides a place to look for the interval and line 118 has the pose-prediction code that is called.

@russell-taylor
Copy link
Contributor

Let me know if you want me to continue chasing this by adding positional tracking using a hand controller.

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

No branches or pull requests

2 participants