Closed Bug 1537967 Opened 2 years ago Closed 2 years ago

Consider not running the refresh driver in VR mode, or at least skipping the painting machinery

Categories

(Core :: WebVR, enhancement)

All
Android
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- fixed

People

(Reporter: mstange, Assigned: daoshengmu)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxr-ww])

Attachments

(1 file)

In this profile of running a VR scene in the FxR browser, nsRefreshDriver::Tick takes up 2.6% of the total time: https://perfht.ml/2YjS5kC

Can we skip this work, or throttle it really aggressively? As far as I know, in VR mode, what the refresh driver paints will not end up on the screen until you leave VR mode.

Whiteboard: [fxr-ww]
Assignee: nobody → dmu

MozReview-Commit-ID: 4L3PygFSFCB

Pushed by dmu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/553d7f3d8eed
Skipping running refresh driver and compositing in VR mode. r=mstange,kip
Pushed by dmu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/84e57dd0aa71
Skipping running refresh driver and compositing in VR mode. r=mstange,kip
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

This patch caused a regression in Firefox Reality. Since it short circuits the refresh driver, WillRefresh() calls are not make and this breaks the MediaRecorder.

(In reply to Randall Barker [:rbarker] from comment #7)

This patch caused a regression in Firefox Reality. Since it short circuits the refresh driver, WillRefresh() calls are not make and this breaks the MediaRecorder.

I supposed when doing VR immersive mode, we don't need Compositor to handle painting, I was thinking the immersive frames usually come from WebGL texture, and they don't need be through the compositor.

If there are a lot of cases still need compositor painting in the immersive mode, we should consider to undo this change.

You need to log in before you can comment on or make changes to this bug.