Closed
Bug 1369125
Opened 8 years ago
Closed 8 years ago
Jank in the parent process due to too much telemetry accumulation when interacting with large tables
Categories
(Core :: General, defect)
Core
General
Tracking
()
RESOLVED
DUPLICATE
of bug 1369141
Tracking | Status | |
---|---|---|
firefox53 | --- | unaffected |
firefox54 | --- | unaffected |
firefox55 | --- | fixed |
People
(Reporter: mstange, Unassigned)
References
Details
(Keywords: perf, regression)
[Tracking Requested - why for this release]: Serious performance regression
This is a very recent regression. I'm going to get a regression range in a second.
Profile: https://perfht.ml/2rkDaWZ
Steps to reproduce:
1. Load https://hg.mozilla.org/releases/mozilla-beta/annotate/cf76e00dcd6f/layout/painting/FrameLayerBuilder.cpp#l5618
2. Slowly scroll up and down
3. Notice the jank
Reporter | ||
Comment 1•8 years ago
|
||
I didn't get very far:
> 6:27.11 INFO: Got as far as we can go bisecting nightlies...
> 6:27.11 INFO: Last good revision: 0b255199db9d6a6f189b89b7906f99155bde3726 (2017-05-05)
> 6:27.11 INFO: First bad revision: 37a5b7f6f101df2eb292b1b6baaf1540c9920e20 (2017-05-06)
> 6:27.11 INFO: Pushlog:
> https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=0b255199db9d6a6f189b89b7906f99155bde3726&tochange=37a5b7f6f101df2eb292b1b6baaf1540c9920e20
and then it failed to find inbound builds.
I had to start mozregression with --pref toolkit.telemetry.enabled:true because it sets that pref to false by default.
Reporter | ||
Comment 2•8 years ago
|
||
There seem to be multiple issues here.
The first issue is that hit testing in big tables has become extremely slow after bug 929484. I've filed bug 1369141 about that.
On my machine, every RecvMouseWheelEvent and RecvRealMouseMoveEvent invocation takes 30ms on this page.
My guess is that this activates the slow paint telemetry. Then for some reason, we accumulate lots of telemetry data.
And then we send that to the parent process, which seems to be surprisingly slow at processing that data.
For example, 20% of internal_GetHistogramEnumId is spent building up strings. https://perfht.ml/2rkW1RM
Reporter | ||
Comment 3•8 years ago
|
||
(In reply to Markus Stange [:mstange] from comment #2)
> My guess is that this activates the slow paint telemetry. Then for some
> reason, we accumulate lots of telemetry data.
It's not the slow paint telemetry. It's the DISPLAY_ITEM_USAGE_COUNT telemetry. nsDisplayList::DeleteAll() calls Telemetry::Accumulate for every single item in the display list, and I could see that being slow if you have lots of items.
Reporter | ||
Updated•8 years ago
|
Summary: Jank in the parent process due to too much telemetry accumulation → Jank in the parent process due to too much telemetry accumulation when interacting with large tables
Reporter | ||
Comment 4•8 years ago
|
||
Removing tracking-firefox55 request in favor of the one in bug 1369141.
tracking-firefox55:
? → ---
Comment 5•8 years ago
|
||
Do we still need this in 55 given bug 1369141 is fixed?
Flags: needinfo?(mstange)
Reporter | ||
Comment 6•8 years ago
|
||
No we don't. This is fixed. I'm going to mark it as a duplicate of bug 1369141.
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(mstange)
Resolution: --- → DUPLICATE
Updated•8 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•