WebVR: user feedback for underperforming app or device |
|||||||||||
Issue descriptionIf a user is trying to view a WebVR page that is severely underperforming, with excessive dropped frames or similar, we should show a warning to the user that this is happening. New users may not be very familiar with the effects compared to the expected experience, and excessive lag or overreliance on reprojection can be unpleasant or even nauseating. Causes for this can be a malfunctioning application, a slower-than-expected device, severe background load, or trying to view a resource intensive desktop site on a mobile viewer. Some of these are transient, others could be unrecoverable. Since there may not be a good way to differentiate transient issues, we probably don't want to force exiting presentation since this could lose state. Options include: - show a head-locked warning, similar to the "not secure" message for HTTP - in extreme cases, fade out the scene and suggest exiting presentation? - others?
,
Apr 27 2017
See also related issue 716087 which is specifically intended for detectable unrecoverable issues such as failing to schedule a new frame due to missing rAF.
,
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
Thinking about this some more, this might be one of those Hard Problems™. Some confounders for poor performance detection: 1. Splash screens. Brandon proposed doing splash screens by passing a static layer like an image, or a div as the VRLayer. I don't know whether or not this is spec'd yet. For now though, apps will just reproject a single rendered frame, or periodically update a loading indicator, and may do so at any point for, say, level loading, etc. 2. Performance optimizations. What if apps want to do the same type of optimization we want to do for Chrome itself, where we only redraw when the scene has changed? They might appear to render at a low/jittery frame rate, but actually be perfectly fine. We could be outright preventing that if we added UI for slow apps. If we actually wanted to implement this, we'd need some way of detecting missed frames, where we know, or are at least highly confident that, the app was *trying* to render a frame and was late, repeatedly.
,
Nov 20 2017
,
Nov 20 2017
,
Jan 17 2018
Assigning to Brandon to figure out what we can actually do here within the spec and with the restrictions imposed by desktop where the splashscreen approach may not work or would require Chrome to do things in the background to re-submit frame and avoid timeouts.
,
Jul 4
,
Aug 7
Removing Blink>WebVR component and assigning to Blink>WebXR
,
Aug 7
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by l.gom...@samsung.com
, Apr 27 2017