Closed Bug 1523728 Opened 5 years ago Closed 5 years ago

WebGL activates the discrete GPU on MacOS with "Use hardware acceleration: false"

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

66 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: brandon, Assigned: jgilbert)

References

(Blocks 1 open bug)

Details

(Whiteboard: gfx-noted)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0

Steps to reproduce:

Using MacOS 10.14.2 / Firefox 66.0b3

In Preferences, uncheck "Use hardware acceleration when available" and restart the browser.

Launch Activity Monitor and select the Energy tab.

Notice that Firefox has "Requires High Perf GPU: No"

Navigate to https://maps.google.com

Notice that Firefox now has "Requires High Perf GPU: Yes"

Actual results:

WebGL is forcing the use of the discrete GPU, regardless of the "Use hardware acceleration when available" setting.

Expected results:

WebGL should not use the discrete GPU when "Use hardware acceleration when available" is enabled.

This matches Chromium (71.0.3578.98) - when "Use hardware acceleration when available" is enabled, WebGL will use the discrete GPU, but when the setting is disabled, WebGL will not trigger the use of the discrete GPU. You can verify this following the same procedure described above.

Opera (based on Chromium) has a better solution, which has a separate toggle for "Allow use of computer's dedicated GPU" without disabling all hardware acceleration.

Apologies for the typo, expected results should read:

WebGL should not use the discrete GPU when "Use hardware acceleration when available" is disabled.

I don't have discrete GPU on my Mac OS, so I couldn't test this issue. I am placing this under Core: Graphics so someone can look into this. Thanks!

Component: Untriaged → Graphics
Product: Firefox → Core
Component: Graphics → Canvas: WebGL
Flags: needinfo?(jgilbert)
Priority: -- → P3
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(jgilbert)
Summary: WebGL forces use of discrete GPU on MacOS → WebGL activates the discrete GPU on MacOS with "Use hardware acceleration: false"
Whiteboard: gfx-noted

"Use hardware acceleration: No" should definitely keep WebGL off the dGPU, at least.

We should also add prefs:

  • gl.allow-dgpu: false
  • webgl.default-low-power: false

Also, if "Use hardware acceleration when available" is disabled, restrict webgl to the igpu.

Assignee: nobody → jgilbert
Status: NEW → ASSIGNED
See Also: → 1349799
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dc44a6e74d72
Add gl.allow-high-power:true, webgl.default-low-power:false. r=lsalzman
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Blocks: 1537969
QA Whiteboard: [qa-67b-p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: