Closed Bug 1360215 Opened 7 years ago Closed 5 years ago

3.72ms uninterruptible reflow at get_lineScrollAmount@chrome://global/content/bindings/scrollbox.xml:172:13

Categories

(Toolkit :: UI Widgets, defect, P4)

defect

Tracking

()

RESOLVED INCOMPLETE
Performance Impact low

People

(Reporter: marco, Unassigned)

References

Details

(Keywords: perf, Whiteboard: [ohnoreflow][fxperf:p3])

Here's the stack:

get_lineScrollAmount@chrome://global/content/bindings/scrollbox.xml:172:13
onxblwheel@chrome://global/content/bindings/scrollbox.xml:685:15
          var totalWidth =
            elements[high].getBoundingClientRect()[end] - elements[low].getBoundingClientRect()[start];
http://searchfox.org/mozilla-central/rev/ce5ccb6a8ca803271c946ccb8b43b7e7d8b64e7a/toolkit/content/widgets/scrollbox.xml#170
Component: Untriaged → XUL Widgets
Product: Firefox → Toolkit
Flags: qe-verify?
Priority: -- → P2
What UI does this happen with? Overflowing menus?
Flags: needinfo?(mcastelluccio)
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p1][photon-performance]
I was able to reproduce this again, but I haven't noticed exactly when this happens.
Flags: needinfo?(mcastelluccio)
Flags: qe-verify? → qe-verify-
Priority: P2 → P3
Whiteboard: [ohnoreflow][qf:p1][photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:p2][reserve-photon-performance]
I don't think this is related to tabs.
Blocks: photon-perf-upforgrabs
No longer blocks: photon-perf-tabs
The code here no longer exists; it was removed by 1387701.

Dao, is there still something to do here?
Flags: needinfo?(dao+bmo)
(In reply to Neil Deakin from comment #6)
> The code here no longer exists; it was removed by 1387701.
> 
> Dao, is there still something to do here?

It likely still flushes layout via scrollSize. I don't know if there's a reasonable way around this, and if this is even worth much effort. AFAIK this only affects overflowing menus.
Flags: needinfo?(dao+bmo)
Priority: P3 → P4
Keywords: perf
(In reply to Dão Gottwald [::dao] from comment #7)
> It likely still flushes layout via scrollSize. I don't know if there's a
> reasonable way around this, and if this is even worth much effort. AFAIK
> this only affects overflowing menus.

Yes, scrollSize can still cause us to flush here:

https://searchfox.org/mozilla-central/rev/7a8c667bdd2a4a32746c9862356e199627c0896d/toolkit/content/widgets/scrollbox.xml#134-140
Whiteboard: [ohnoreflow][qf:p2][reserve-photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f60][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:f60][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf] → [ohnoreflow][qf:f61][qf:p1][fxperf]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][fxperf] → [ohnoreflow][qf:f61][qf:p1][fxperf:p3]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][fxperf:p3] → [ohnoreflow][qf:f64][qf:p1][fxperf:p3]
Whiteboard: [ohnoreflow][qf:f64][qf:p1][fxperf:p3] → [ohnoreflow][qf:p1:f64][fxperf:p3]
Re-queuing for triage by fxperf to reconcile with qf evaluation.
Whiteboard: [ohnoreflow][qf:p1:f64][fxperf:p3] → [ohnoreflow][qf:p1:f64][fxperf]
Keeping it [fxperf:p3] unless someone disagrees. We're not hitting this often and it's not clear that there's a good way around it.
Whiteboard: [ohnoreflow][qf:p1:f64][fxperf] → [ohnoreflow][qf:p1:f64][fxperf:p3]
Thanks, dthayer. I concur - I'm going to drop the qf priority, too.
Whiteboard: [ohnoreflow][qf:p1:f64][fxperf:p3] → [ohnoreflow][qf:p3:f64][fxperf:p3]
Whiteboard: [ohnoreflow][qf:p3:f64][fxperf:p3] → [ohnoreflow][qf:p3][fxperf:p3]

This binding is gone now. I'm guessing the reflow has moved elsewhere, but I'm going to close this one out as INCOMPLETE.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
Performance Impact: --- → P3
Whiteboard: [ohnoreflow][qf:p3][fxperf:p3] → [ohnoreflow][fxperf:p3]
You need to log in before you can comment on or make changes to this bug.