New issue
Advanced search Search tips

Issue 716087 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Proj-XR



Sign in to add a comment

WebVR: detect unrecoverable VR presentation issues

Project Member Reported by klausw@chromium.org, Apr 27 2017

Issue description

There are situations where the WebVR application may end up in an unrecoverable broken state. In this case, we currently continue displaying the last-submitted frame, including reprojection where applicable, or a blank black frame if none were ever submitted successfully.

(See also issue 716071 about underperforming applications, including transient issues that aren't known to be unrecoverable.)

If it's possible to detect these situations programatically, we should handle them by reporting the error to the user and/or automatically exiting presentation.

Examples can include:

- application fails to call vrDisplay.requestAnimationFrame from within the current rAF callback, so there will not be any further frames being generated. In theory an application may do something odd such as calling vrDisplay.rAF from a future scheduled setTimeout, that would be hard to detect. If that's a concern, clarify the spec to indicate it's not legal?

- canvas resized to an invalid size such as 0x0 pixels, or a too-large size where resizing failed
 
Labels: -M-60 M-61
Labels: -M-61
Labels: -Pri-2 Pri-3
Status: Available (was: Untriaged)
Labels: -Pri-3 M-64 Pri-2
Labels: -M-64 M-65 Pri-1
Owner: mthiesse@chromium.org
Status: Assigned (was: Available)
Michael, I recall you saying something about the difficulties we might have determining if this is truly a slow app or slowness that's "on purpose". Could you please comment on the feasibility of fixing this issue?
Labels: -Pri-1 -M-65 Pri-3
Owner: ----
I think this is distinct from the poor performance detection. Klaus' example of a 0x0 canvas could be one way to detect an unrecoverable issue, but I don't know how common something like that would be in practice, and might not be worth the engineering effort to detect and report it.

Failing to call vrDisplay.requestAnimationFrame isn't an unrecoverable issue though, see my comments on issue 716071.

I think we should probably just wait and see what issues actual apps run into that lead to unrecoverable errors, and then see if we can do anything about them at the platform level. I expect the vast majority of broken apps will be detected by failing to generate an initial frame.
Status: Available (was: Assigned)
Components: Blink>WebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: -Blink>WebVR

Sign in to add a comment