100% CPU when hovering over links on GitHub since Nightly 10-18

VERIFIED FIXED in Firefox 27

Status

()

Core
Layout
VERIFIED FIXED
4 years ago
2 years ago

People

(Reporter: silverwind, Assigned: roc)

Tracking

({regression})

27 Branch
mozilla28
x86
All
regression
Points:
---

Firefox Tracking Flags

(firefox26 unaffected, firefox27+ verified, firefox28+ verified)

Details

(Whiteboard: [fixed by backing out bug 923193])

Attachments

(3 attachments)

(Reporter)

Description

4 years ago
I noticed CSS hover effects and the whole UI lagging pretty badly (~100ms for a hover effect), and started to track it down:

good: 2013-10-17-03-02-01-mozilla-central
bad:  2013-10-18-03-02-06-mozilla-central (and all nightlys to date)

Hardware Acceleration is enabled, GPU is AMD and I also did a driver update to AMD's latest beta, which didn't fix it, unfortunately.
(Reporter)

Comment 1

4 years ago
I tried to quickly hover over a few links with hover effects, and noticed:

In the good build, CPU usage is around 50% while hovering, GPU goes up to ~15%.
In the bad build, CPU usage fully saturates one core, GPU usage stays at 2-3%.
(Reporter)

Comment 2

4 years ago
To correct myself: I meant 50% of a single core in the good build.
(Reporter)

Updated

4 years ago
Component: Untriaged → General
Product: Firefox → Core

Comment 3

4 years ago
Provide a testcase, please.
Flags: needinfo?(silv3rwind)
Keywords: testcase-wanted
(Reporter)

Comment 4

4 years ago
Ah, it seems to be site-specific. My test case would be any GitHub profile page, like Joe's:

https://github.com/0c0w3

Quickly hover over the "Repositories contributed to" list and notice that the hover highlights starts to lag behind your mouse while the cpu usage of Firefox spikes to fully utilize a core.
Flags: needinfo?(silv3rwind)
(Reporter)

Updated

4 years ago
Summary: Very noticeable UI Lag since Nightly 10-18 → Lag in CSS hover effects on GitHub since Nightly 10-18
(Reporter)

Comment 5

4 years ago
Created attachment 824198 [details]
github-nightly1018.zip

javascript profile
(Reporter)

Comment 6

4 years ago
Did some more testing, and it seems to be JS related, as I don't get any lag with javascript.enabled = false. Attached above is a log from the profiler which I created in a fresh copy of the mentioned Nightly.
Component: General → JavaScript Engine
(Reporter)

Updated

4 years ago
Summary: Lag in CSS hover effects on GitHub since Nightly 10-18 → 100% CPU when hovering over links on GitHub since Nightly 10-18
(Reporter)

Comment 7

4 years ago
Created attachment 824205 [details]
github-nightly1018-good.zip
(Reporter)

Comment 8

4 years ago
Maybe this'll help reproduce: After playing around with the site zoom level, it seems that it won't lag on certain zoom levels. Attached above is another profile for the same page when it didn't lag.

It's really strange and seems pretty random on when it's occuring, but if it does, the browser UI lags too.
(Reporter)

Updated

4 years ago
OS: Windows 7 → All

Comment 9

4 years ago
STR:
Open https://github.com/0c0w3 and hover links of "Repositories contributed to".

Result: not smooth.

Regression range:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=423b9c30c73d&tochange=4e7d1e2c93a6
Status: UNCONFIRMED → NEW
status-firefox26: --- → unaffected
tracking-firefox27: --- → ?
tracking-firefox28: --- → ?
Ever confirmed: true
Keywords: regression, regressionwindow-wanted
Version: Trunk → 27 Branch
SPS Profile against Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 ID:20131030030201 CSet: 829d7bef8b0a:

http://people.mozilla.org/~bgirard/cleopatra/#report=a6e6eb7a4799be84e9922b22ed8e0bebbc156d7e

Probably a Regression of Bug 923193 (like Bug 929966), no?

FWIW, setting svg.display-lists.painting.enabled;false helps.

Comment 11

4 years ago
Regression window(m-i)
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/9c8ab7e9ae41
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20131017025216
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/45d9e6cd3473
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20131017030414
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=9c8ab7e9ae41&tochange=45d9e6cd3473

In local build
Last Good: 9c8ab7e9ae41
First Bad: a417424f9213
Regressed by:
a417424f9213	Robert O'Callahan — Bug 923193. Make transform-origin on SVG elements use the SVG bbox as the reference rectangle. r=heycam
Blocks: 923193
Keywords: regressionwindow-wanted

Updated

4 years ago
Component: JavaScript Engine → Layout

Comment 12

4 years ago
Created attachment 825030 [details]
semi-reduced

Updated

4 years ago
status-firefox27: --- → affected
status-firefox28: --- → affected
tracking-firefox27: ? → +
tracking-firefox28: ? → +
I analyzed this in Instruments on OSX before and after bug 923193 was backed out
and the performance problem is gone now (it was a lot of SVG GetBBox calls that
was the culprit).
Status: NEW → RESOLVED
Last Resolved: 4 years ago
status-firefox28: affected → fixed
Resolution: --- → FIXED
Whiteboard: [fixed by backing out bug 923193]
Assignee: nobody → roc
Target Milestone: --- → mozilla28
Fixed since 923193 is backed out on Aurora.
status-firefox27: affected → fixed
silverwind, can you please confirm this is fixed in Firefox 27 and 28?
Flags: needinfo?(silv3rwind)
(Reporter)

Comment 16

4 years ago
Yep, confirming it working in 27, 28 and 29.
Flags: needinfo?(silv3rwind)
(In reply to silverwind from comment #16)
> Yep, confirming it working in 27, 28 and 29.

Thanks!
Status: RESOLVED → VERIFIED
status-firefox27: fixed → verified
status-firefox28: fixed → verified
Keywords: testcase-wanted
You need to log in before you can comment on or make changes to this bug.