Pref-Flip Study: Process Priority Manager on Windows
Categories
(Shield :: Shield Study, task)
Tracking
(firefox67+ fixed)
People
(Reporter: mconley, Assigned: mconley)
Details
Comment 1•6 years ago
|
||
We've added code that allows Firefox to lower the OS priority of content processes that are only running background tabs. This should free up CPU cycles for foreground tabs, and is consistent with how other multi-process browsers work.
More detail:
Having discussed with Mike, i will state the ideals of this experiment first followed by what we will actually design.
Firefox has 4 (and now 8) content processes (CP) tied to OS processes. When tabs are opened (or tab in a new window), they assigned to CP in a round robin fashion. If i have eight tabs, i have eight content processes and if nine tabs, i still have eight content processes but one has two tabs associated with it.
With this feature, when a content process has a tab in focus its "process priority" is normal. When a content process has all its tabs in the background, it's "process priority" is lowered.
For example, if i switch away from a tab and that tab belongs to a CP that has all its other tabs in the background, the process priority for the CP is lowered.
There is one exception: if the CP has a tab playing audio (e.g. youtube), then it's process priority is not lowered. So in the above example, if i switch away from tab and the associated the CP has all its tabs in the background but one is playing audio, then the CP will not have its "process priority* lowered.
We want to ensure that there are no negative impacts to page load performance or user retention with this change.
More information: https://experimenter.services.mozilla.com/experiments/process-priority-manager-on-windows/
Assignee | ||
Comment 2•6 years ago
|
||
[Tracking Requested - why for this release]:
The experiment is slated to ship in Firefox 67 on the beta channel.
Assignee | ||
Updated•6 years ago
|
Comment 3•6 years ago
|
||
Process Priority Manager on Windows
Targeted: Firefox Beta 67
We have finished testing the “Process Priority Manager on Windows” experiment.
QA’s recommendation: YELLOW - SHIP IT CONDITIONALLY
Reasoning:
- Due to the fact that we had such a short amount of time for testing we have performed only exploratory testing.
- We were not sure if this study will be launched only on Windows or on all OS-es. The Experimenter page and Jira Ticket are saying “All platforms” while the Data Science Bugzilla Ticket mentions only Windows platform.
- We weren't able to verify the process prioritization functionality on Mac even though the testing was requested to be performed on “All platforms”. There are no details on how to access the information regarding the prioritization of processes on this platform.
- The process priority is not lowered on Linux, we do not know if this is intended because of this comment.
Testing Summary:
- We have verified that there are no regression regarding the load time.
- We have verified the following scenarios regarding the process priority:
- The tabs that are not in focus have a lower priority from normal.
- Having a website blocked from automatically playing sound improves the process priority on several websites. (Normally a tab with autoplaying sounds will not have the process priority changed if the tab is not focused. However if the website from the tab has the autoplaying sounds blocked when the tab is not focused it will have the process priority lowered)
- Having an adblocker installed improves the process priority on several websites. (If an ad is displayed on a website, its tab will not have the process priority lowered when unfocused due to this fact. However, having an adblocker removes the ads and the tab will have the process priority lowered when unfocused)
- We have verified that the following telemetry probes are correctly sent:
- DOM_CONTENTPROCESS_OS_PRIORITY_CHANGE_CONSIDERED
- DOM_CONTENTPROCESS_OS_PRIORITY_RAISED
- DOM_CONTENTPROCESS_OS_PRIORITY_LOWERED
- fx_tab_switch_total_e10s_ms
- fx_tab_switch_update_ms
Tested Platforms:
- Windows 10 x64
- Windows 7 x32
- Ubuntu 18.04
Tested Firefox versions:
- Firefox Beta 67.0b8
Updated•6 years ago
|
Comment 4•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 5•6 years ago
|
||
Experiment was ended on april 29th.
Updated•6 years ago
|
Description
•