Judder/Jitter caused by HMD refresh, possibly Time Warp
Hello everyone!
I recently switched from SKD 0.4.0 (where everything worked fine) to SDK 0.6.0, and now the image displayed in the HMD seems to "jitter", especially during head-rotation.
It looks as if the HMD would display the previous and current frame in alternation, quickly jumping one frame back and forward.
I assumed it could be the rotation of the EyeTexture index, but my logs tell me everything works fine:
The problem only appears related to head motion. If I change the viewport by software (ie. move the virtual camera in my scene) it looks okay.
I was looking at the tracker data, but every single sample that I receive from ovrHmd_GetTrackingState seems smooth. No jittering here.
The problem also doesn't appear in the OculusRoomTiny or other samples as far as I can tell.
I was suspecting timewarp to be the cause of it, but in the 0.6.0 SDK there is no control over timewarp (and other features) any more.
I'm using OpenGL and having an admittedly low framerate (usually around 25fps).
It used to not be a problem until now.
Thank you for any ideas!
I recently switched from SKD 0.4.0 (where everything worked fine) to SDK 0.6.0, and now the image displayed in the HMD seems to "jitter", especially during head-rotation.
It looks as if the HMD would display the previous and current frame in alternation, quickly jumping one frame back and forward.
I assumed it could be the rotation of the EyeTexture index, but my logs tell me everything works fine:
...
00004160: calling ovrHmd_GetTrackingState
00004160: binding framebuffer for LEFT eye, TextureSet->CurrentIndex = 0
00004160: binding framebuffer for RIGHT eye, TextureSet->CurrentIndex = 0
00004160: calling ovrHmd_SubmitFrame
00004250: calling ovrHmd_GetTrackingState
00004160: binding framebuffer for LEFT eye, TextureSet->CurrentIndex = 1
00004160: binding framebuffer for RIGHT eye, TextureSet->CurrentIndex = 1
00004250: calling ovrHmd_SubmitFrame
...
The problem only appears related to head motion. If I change the viewport by software (ie. move the virtual camera in my scene) it looks okay.
I was looking at the tracker data, but every single sample that I receive from ovrHmd_GetTrackingState seems smooth. No jittering here.
The problem also doesn't appear in the OculusRoomTiny or other samples as far as I can tell.
I was suspecting timewarp to be the cause of it, but in the 0.6.0 SDK there is no control over timewarp (and other features) any more.
I'm using OpenGL and having an admittedly low framerate (usually around 25fps).
It used to not be a problem until now.
Thank you for any ideas!
