2.15ms uninterruptible reflow at _rebuild@chrome://browser/content/search/search.xml:1540:15

NEW
Unassigned

Status

()

Firefox
Search
P4
normal
a year ago
a month ago

People

(Reporter: florian, Unassigned)

Tracking

(Blocks: 2 bugs, {perf})

unspecified
Points:
---
Dependency tree / graph
Bug Flags:
qe-verify -

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [ohnoreflow][qf:f61][qf:p1][fxperf:p3])

(Reporter)

Description

a year ago
The profiles in bug 1353725 show that the reflow is triggered by a .clientWidth call. I guess it's http://searchfox.org/mozilla-central/rev/d8496d0a1f6ebef57fe39b9b204475b0eccfb94c/browser/components/search/content/search.xml#1528

I think we should be able to do something here using getBoundsWithoutFlushing instead.

This currently happens whenever the awesomebar (or searchbar) panel opens. Once bug 1312999 is fixed, it'll be only the first time.

Here's the stack:

_rebuild@chrome://browser/content/search/search.xml:1540:15
handleEvent@chrome://browser/content/search/search.xml:1435:15
openPopup@chrome://global/content/bindings/popup.xml:53:15
_openAutocompletePopup@chrome://browser/content/urlbarBindings.xml:1617:11
openAutocompletePopup@chrome://browser/content/urlbarBindings.xml:1551:11
openPopup@chrome://global/content/bindings/autocomplete.xml:393:13
set_popupOpen@chrome://global/content/bindings/autocomplete.xml:103:10
notifyResults@jar:file:///Applications/FirefoxNightly.app/Contents/Resources/omni.ja!/components/UnifiedComplete.js:2111:5
_addMatch@jar:file:///Applications/FirefoxNightly.app/Contents/Resources/omni.ja!/components/UnifiedComplete.js:1733:5
_matchPlacesKeyword@jar:file:///Applications/FirefoxNightly.app/Contents/Resources/omni.ja!/components/UnifiedComplete.js:1381:5
TaskImpl_run@resource://gre/modules/Task.jsm:319:42
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:742:11
Another similar stack:

_rebuild@chrome://browser/content/search/search.xml:1540:15
handleEvent@chrome://browser/content/search/search.xml:1435:15
openPopup@chrome://global/content/bindings/popup.xml:53:15
_openAutocompletePopup@chrome://browser/content/urlbarBindings.xml:1617:11
openAutocompletePopup@chrome://browser/content/urlbarBindings.xml:1551:11
openPopup@chrome://global/content/bindings/autocomplete.xml:393:13
set_popupOpen@chrome://global/content/bindings/autocomplete.xml:103:10
notifyResults@jar:file:///C:/Program%20Files/Nightly/omni.ja!/components/UnifiedComplete.js:2111:5
_addMatch@jar:file:///C:/Program%20Files/Nightly/omni.ja!/components/UnifiedComplete.js:1733:5
_onResultRow@jar:file:///C:/Program%20Files/Nightly/omni.ja!/components/UnifiedComplete.js:1636:5
_matchKnownUrl/<@jar:file:///C:/Program%20Files/Nightly/omni.ja!/components/UnifiedComplete.js:1336:7
handleResult@resource://gre/modules/Sqlite.jsm:774:13
Flags: qe-verify?
Priority: -- → P2
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p1][photon-performance]

Updated

11 months ago
Blocks: 1363757
(Reporter)

Updated

11 months ago
No longer blocks: 1348289

Updated

11 months ago
Flags: qe-verify? → qe-verify-

Updated

11 months ago
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]

Updated

7 months ago
Priority: P3 → P4
Whiteboard: [ohnoreflow][qf:p2][reserve-photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]

Updated

5 months ago
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance]

Updated

4 months ago
Whiteboard: [ohnoreflow][qf:i60][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:f60][qf:p1][reserve-photon-performance]

Updated

2 months ago
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]
Given that it's only on the first open, I don't think this is a priority.
Whiteboard: [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf] → [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf:p3]
Whiteboard: [ohnoreflow][qf:f61][qf:p1][reserve-photon-performance] [fxperf:p3] → [ohnoreflow][qf:f61][qf:p1][fxperf:p3]
You need to log in before you can comment on or make changes to this bug.