Open Bug 1578123 Opened 6 years ago Updated 1 year ago

Throttle the refresh driver in the parent process for occluded windows to reduce CPU

Categories

(Core :: Web Painting, enhancement, P3)

All
macOS
enhancement

Tracking

()

Performance Impact low

People

(Reporter: mstange, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf:resource-use, power, reproducible)

In the parent process window documents, the refresh driver can still run at full frequency even when the window is fully occluded. This can cause unnecessary work for reflow and painting. For example, if you have 60 windows open (cough) and start a download, all 60 windows will be happy to try to repaint the progress bar in the download toolbar button immediately whenever it updates.

Throttling the refresh driver of occluded windows would help reduce power consumption.

Note that the refresh driver inside the foreground tab of occluded windows already has its refresh driver throttled: the AsyncTabSwitcher listens for occlusionstatechange events and sets docshellIsActive to false when appropriate.

Priority: -- → P3
See Also: → 1644740
Summary: Throttle the refresh driver in the parent process for occluded windows → Throttle the refresh driver in the parent process for occluded windows to reduce CPU
Blocks: power-usage
Severity: normal → --
Performance Impact: --- → ?

Do we have more examples of animations in the browser UI other than the downloads progress bar?

The Performance Priority Calculator has determined this bug's performance priority to be P3.

Platforms: [x] Windows [x] macOS [x] Linux
Configuration: Specific but common
[x] Causes severe resource usage (well, kinda)
[x] Able to reproduce locally

Performance Impact: ? → P3
Flags: needinfo?(florian)

(In reply to Markus Stange [:mstange] from comment #1)

Do we have more examples of animations in the browser UI other than the downloads progress bar?

I think tab loading animations for tabs that never finish loading are the worst.

Flags: needinfo?(florian)

This should be fixed by bug 1779559, afaict. Worth testing after it sticks tho.

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