excessive controller latency in SteamVR/Oculus |
|
Issue description[forked from issue 875187 ] Steps to reproduce the problem: 1. enter Chrome VR with Vive 2. Open a controller-using page such as https://webvr.info/samples/XX-vr-controllers.html 3. Hold controller in front of you while turning torso Observed behavior: controller image is laggy, showing a double or triple image Expected behavior: controller image should stay stable, following a smooth rotation
,
Aug 29
Experimental approach in https://chromium-review.googlesource.com/c/chromium/src/+/1195104 . This greatly increases smoothness, but needs a change to the core GamepadProvider API.
,
Sep 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/59af5e55b9189cad106efc654195d3737f43690e commit 59af5e55b9189cad106efc654195d3737f43690e Author: Klaus Weidner <klausw@chromium.org> Date: Tue Sep 11 01:11:27 2018 Add pose age TRACE_COUNTERs for VR/XR gamepads This helps provide an estimate how old the poses are when polled by the gamepad API and when read from JavaScript. BUG=878181 Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I623b876cff559709ff858d9df0ee1df33b736481 Reviewed-on: https://chromium-review.googlesource.com/1200569 Reviewed-by: Dominick Ng <dominickn@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Bill Orr <billorr@chromium.org> Commit-Queue: Klaus Weidner <klausw@chromium.org> Cr-Commit-Position: refs/heads/master@{#590159} [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/device/gamepad/gamepad_data_fetcher.cc [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/device/gamepad/gamepad_data_fetcher.h [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/device/vr/isolated_gamepad_data_fetcher.cc [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/device/vr/oculus/oculus_gamepad_helper.cc [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/device/vr/openvr/openvr_gamepad_helper.cc [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/device/vr/public/mojom/isolated_xr_service.mojom [modify] https://crrev.com/59af5e55b9189cad106efc654195d3737f43690e/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
,
Sep 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f249ed182f1068a17e4e3f4fe750494e4f6632f commit 6f249ed182f1068a17e4e3f4fe750494e4f6632f Author: Klaus Weidner <klausw@chromium.org> Date: Wed Sep 12 19:33:52 2018 OpenVR render loop: yield before updating controllers The render loop tends to be busy in WaitGetPoses, so yield execution to give the event loop a chance to process incoming mojo messages including requesting a new gamepad callback. BUG=878181 Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I28ceebf97be51ef4dfaac0a5c2252d0704a5aa6a Reviewed-on: https://chromium-review.googlesource.com/1200390 Commit-Queue: Klaus Weidner <klausw@chromium.org> Reviewed-by: Bill Orr <billorr@chromium.org> Cr-Commit-Position: refs/heads/master@{#590787} [modify] https://crrev.com/6f249ed182f1068a17e4e3f4fe750494e4f6632f/device/vr/openvr/openvr_render_loop.cc [modify] https://crrev.com/6f249ed182f1068a17e4e3f4fe750494e4f6632f/device/vr/openvr/openvr_render_loop.h
,
Dec 28
Tested this on Canary 73.0.3653.1, still getting heavy stuttering with Vive Pro controllers. On Firefox it's perfectly smooth |
|
►
Sign in to add a comment |
|
Comment 1 by klausw@chromium.org
, Aug 28