Closed Bug 1423912 Opened 7 years ago Closed 6 years ago

Frequent pauses in all tabs when getVRDisplays() is called in one tab.

Categories

(Core :: WebVR, defect)

57 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: kungfoobar, Assigned: kip)

References

Details

(Keywords: perf)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 Build ID: 20171129230227 Steps to reproduce: Run this in any tab: navigator.getVRDisplays() Scroll all the time or type text (in that tab or any other) to notice a noticeable pause every 5-6 seconds. Close the tab where that was executed and there are no more pauses. Using Linux right now, but it happened on Windows too. I have an HTC Vive but it seems to happen whether I have it connected or not, maybe having SteamVR installed (with no auto open) is enough. Actual results: Constant pauses, even though the game just wanted to check if there is a HMD present, just once. Expected results: Ideally no pauses ever, but I guess one pause at the beginning is acceptable too if the user has SteamVR.
Component: Untriaged → DOM
Keywords: perf
Product: Firefox → Core
Component: DOM → WebVR
A performance profile would be nice here. The profiler can be installed from https://perf-html.io/ The profiling results are better with Nightly[1] than Release FF. [1] http://nightly.mozilla.org/
Trying with different configurations I found out VR is disabled by default and the bug doesn't happen with nightly, so I think you can close this bug. However, VR doesn't work on either platform, I'll open another bug if I don't find it. I'm the reporter, I tried to log in with the same account unsuccessfully. Now logged with github with same email.
(In reply to kungfoobar from comment #2) > Trying with different configurations I found out VR is disabled by default > and the bug doesn't happen with nightly, so I think you can close this bug. > > However, VR doesn't work on either platform, I'll open another bug if I > don't find it. > > I'm the reporter, I tried to log in with the same account unsuccessfully. > Now logged with github with same email. WebVR is enabled by default on Windows, and Mac is Nightly only. For Linux, we are still working on it.
I see. I've tried again and found something odd: SteamVR is opened automatically, even though the option is disabled in SteamVR configuration. That's a SteamVR bug because it happens opening other VR apps too... However! Firefox opens it *repeatedly* while other apps opens it only once. The main bug I would like to report is that it's checking for VR _again and again_ when it should be checking for it once when getVRDisplays() is called.
Most VR API calls have been moved out to the new VRService thread. The enumeration still causes a block on the compositor thread; however. This will be fixed with Bug 1495104 (VRSystemManagerExternal::Enumerate should be non-blocking).
Depends on: 1495104
Assignee: nobody → kgilbert
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Now that Bug 1495104 has been landed, the pauses every few seconds should no longer occur.

Work is ongoing in Bug 1424802, to fix the erraneous SteamVR popups and to provide UI for controlling the VR behavior.

Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.