Open Bug 1506331 Opened 6 years ago Updated 2 years ago

High CPU utilization when rapidly hovering over tabs

Categories

(Firefox :: Tabbed Browser, defect, P3)

65 Branch
defect

Tracking

()

Performance Impact low
Tracking Status
firefox-esr60 --- unaffected
firefox64 --- wontfix
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- wontfix

People

(Reporter: wdyoung, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf, perf:resource-use, regression)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0

Steps to reproduce:

1. New profile
2. Enable WebRender (gfx.webrender.all = true)
3. Maximize the browser window
4. Open a bunch of static (or very low dynamic) pages into new tabs until the tabstrip overflows (wikipedia pages are good)
5. Open the Task Manager, and wait until Firefox CPU utilization settles down to close to steady-state
6. Bring Task Manager to front
7. While Task Manager is in front of Firefox, extremely quickly flick the mouse cursor back and forth over the browser tabs



Actual results:

CPU utilization in Task Manager rises substantially and remains elevated for a noticeable period of time after mouse movement ceases


Expected results:

CPU utilization in Task Manager reduces much more quickly
Possibly could be related to tab warming (https://bugzilla.mozilla.org/show_bug.cgi?id=1434651)

As suggested by commenter: http://forums.mozillazine.org/viewtopic.php?p=14814466#p14814466
Hi Woz,

I can reproduce the issue on the latest Nightly 65.0a1 (2018-11-13) (64-bit)on Windows 10 x64. - with Webrender enabled and disabled too.

Adding this issue to a component and NI? Mike. It could also be an intended behavior due to Bug 1434651 but most likely Mike can confirm that better.

Mike, can you please take a look at this when you have the time? Thank you!
Status: UNCONFIRMED → NEW
Component: Untriaged → Tabbed Browser
Ever confirmed: true
Flags: needinfo?(mconley)
Component: Tabbed Browser → Graphics: WebRender
Product: Firefox → Core
Woz, can you reproduce the issue with WebRender off?
Flags: needinfo?(wdyoung)
(In reply to Jeff Muizelaar [:jrmuizel] from comment #3)
> Woz, can you reproduce the issue with WebRender off?

Hi Jeff,

I've just created a new Profile, and checked gfx.webrender.all is false, then re-did the steps from comment 0.

I see the same high CPU utilization while quickly flicking the mouse cursor over the browser tabs, and that utilization remaining high for a noticeable period of time after the mouse cursor flicking is stopped.

I reckon that the amount of time the mouse cursor was actually hovering over any of the browser tabs was far less than the amount of time it would normally take for me to consciously click on the correct and intended one.
Moving out of WebRender since it happens with non-WR too
Component: Graphics: WebRender → Graphics
We don't have evidence that this is even a graphics problem yet.
Component: Graphics → Tabbed Browser
Product: Core → Firefox
Flags: needinfo?(wdyoung)
Hi Woz, how about if you disable tab warming?

You can disable tab warming by setting browser.tabs.remote.warmup.enabled to false in about:config.

If you can't reproduce with that setting disabled, then warming is probably the cause.
Flags: needinfo?(mconley) → needinfo?(wdyoung)
(In reply to Mike Conley (:mconley) (:⚙️) from comment #7)
> Hi Woz, how about if you disable tab warming?
> 
> You can disable tab warming by setting browser.tabs.remote.warmup.enabled to
> false in about:config.
> 
> If you can't reproduce with that setting disabled, then warming is probably
> the cause.

Hi Mike,

I tested with browser.tabs.remote.warmup.enabled set to false.

The CPU utilization is approximately 3 times less than with that setting enabled.
(In reply to Woz from comment #8)
> Hi Mike,
> 
> I tested with browser.tabs.remote.warmup.enabled set to false.
> 
> The CPU utilization is approximately 3 times less than with that setting
> enabled.

So, to be clear, flipping that pref fixes the issue for you? 3 times less is the expected amount?
(In reply to Mike Conley (:mconley) (:⚙️) from comment #9)
> (In reply to Woz from comment #8)
> > Hi Mike,
> > 
> > I tested with browser.tabs.remote.warmup.enabled set to false.
> > 
> > The CPU utilization is approximately 3 times less than with that setting
> > enabled.
> 
> So, to be clear, flipping that pref fixes the issue for you? 3 times less is
> the expected amount?

In short, yes.

Slightly longer answer:
With the pref flipped to false, the peak CPU utilization is around 3 times less than when the pref is flipped to true.
It also means (in my case), the elevated CPU utilization duration is also around 3 times shorter when compared to having the pref flipped to true.
Flags: needinfo?(wdyoung)
Flags: needinfo?(mconley)
Priority: -- → P3
Keywords: perf
Whiteboard: [qf]
Whiteboard: [qf] → [qf:p3:resource]
Flags: needinfo?(mconley)

P3, unassigned and long standing issue so wontfix for our current beta.

Bulk change of P3 carryover bugs to wontfix for 68.

Performance Impact: --- → P3
Whiteboard: [qf:p3:resource]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.