WebVR: detect unrecoverable VR presentation issues |
|||||||||
Issue descriptionThere 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
,
Jun 7 2017
,
Aug 10 2017
,
Sep 22 2017
,
Nov 17 2017
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?
,
Nov 20 2017
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.
,
Nov 20 2017
,
Jul 4
,
Aug 7
Removing Blink>WebVR component and assigning to Blink>WebXR
,
Aug 7
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by meganlindsay@chromium.org
, Jun 7 2017