Closed Bug 1630629 Opened 3 months ago Closed 3 months ago

Disable WebRender on Intel battery if we don't have DirectComposition

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement

Tracking

()

VERIFIED FIXED
mozilla77
Tracking Status
firefox76 --- verified
firefox77 --- verified

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

Details

Attachments

(2 files)

DirectComposition is important for battery usage on Intel. If bug 1630371 doesn't make it into beta, and perhaps even if it does, we should consider doing this.

Andrew do have thoughts on the best way to do this?

Flags: needinfo?(aosmond)
Assignee: nobody → jmuizelaar
Status: NEW → ASSIGNED
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/923c7f562468
Block WebRender on Intel if no DComp. r=aosmond
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/836f649a6b09
Block WebRender on Intel if no DComp. r=aosmond

Comment on attachment 9141065 [details]
Bug 1630629. Block WebRender on Intel if no DComp.

Beta/Release Uplift Approval Request

  • User impact if declined: 67 enables WebRender on some Intel laptops (bug 1615049). We want an additional limit on this group that DirectComposition is required.

DirectComposition gives performance and battery life improvements so we want to limit the risk of bug 1615049 by only shipping to user with it.

  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: Bug 1630371
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This should be a risk reduction from what is currently in beta.
  • String changes made/needed:
Attachment #9141065 - Attachment description: Bug 1630629. Block WebRender on Intel if no DComp. → Bug 1630629. Block WebRender on Intel battery if no DComp.
Flags: needinfo?(jmuizelaar)
Attachment #9141065 - Flags: approval-mozilla-beta?
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77

Comment on attachment 9141065 [details]
Bug 1630629. Block WebRender on Intel if no DComp.

Only enables WebRender on Intel machines if DComp is also enabled. Approved for 76.0b6.

Attachment #9141065 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9141065 - Attachment description: Bug 1630629. Block WebRender on Intel battery if no DComp. → Bug 1630629. Block WebRender on Intel if no DComp.
Attachment #9141065 - Flags: approval-mozilla-beta+ → approval-mozilla-beta-

This moves the DirectComposition configuration code before
the WebRender configuration code so that we can depend
on the results to decide whether to user WebRender.

It keeps the check UseWebRenderDCompWin after the initialization
of WebRender so that it's properly initialized when we read it.

Comment on attachment 9141695 [details]
Bug 1630629. Block WebRender on Intel if no DComp.

Beta/Release Uplift Approval Request

  • User impact if declined: 67 enables WebRender on some Intel laptops (bug 1615049). We want an additional limit on this group that DirectComposition is required.
    DirectComposition gives performance and battery life improvements so we want to limit the risk of bug 1615049 by only shipping to user with it.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): As seen in the original landing, because the ordering of some code needed to change this could introduce mis-configuration. This new version combines the patch from bug 1631312 which has been confirmed to fix the problem originally introduced by this patch.

Despite the above, the goal of this patch is a risk reduction from what is currently in beta.

  • String changes made/needed:
Attachment #9141695 - Flags: approval-mozilla-beta?
Attachment #9141065 - Flags: approval-mozilla-beta- → approval-mozilla-beta?
Attachment #9141065 - Flags: approval-mozilla-beta? → approval-mozilla-beta-

Can QA please try to verify this fix on Nightly before uplift? Given the previous issues with this patch, it would be good to verify that everything is in working order now.

Flags: qe-verify+
Flags: needinfo?(rbologa)
QA Whiteboard: [qa-triaged]

Comment on attachment 9141695 [details]
Bug 1630629. Block WebRender on Intel if no DComp.

I really wish QA would have been able to give this a quick verification on Nightly before uplifting this to Beta, but I also don't want this to wait until Friday to be uplifted. Approved for 76.0b7 now so we can get some extra testing. That said, if this bounces again, I think we should revisit what WR rollout changes we're planning to ship in 76 rather than attempting any more fixes in place.

Attachment #9141695 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

== Change summary for alert #25672 (as of Wed, 22 Apr 2020 02:59:56 GMT) ==

Improvements:

22% tscrollx windows10-64-shippable-qr opt e10s stylo 1.06 -> 0.83
15% glterrain windows10-64-shippable-qr opt e10s stylo 1.83 -> 1.55
10% tart windows10-64-shippable-qr opt e10s stylo 2.82 -> 2.54
10% tart windows10-64-shippable-qr opt e10s stylo 2.83 -> 2.56

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=25672

This issue is verified as fixed in Beta 76.0b7 on Windows 10.

This is not Disabled in Nightly, Nightly still shows Webrender even without Direct Composition, I think it is intended. @Jeff ?

Flags: needinfo?(rbologa) → needinfo?(jmuizelaar)

yes, it is intended.

Flags: needinfo?(jmuizelaar)
Flags: needinfo?(aosmond)

I Will update the flags for 77 based on comment 17 and Comment 18, It seems the fix is there but it will only be visible when it reaches beta.

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.