Closed
Bug 804968
Opened 12 years ago
Closed 12 years ago
Adjusting the height of the awesomebar results popup requires too many layout flushes
Categories
(Toolkit :: Autocomplete, defect)
Toolkit
Autocomplete
Tracking
()
RESOLVED
FIXED
mozilla19
People
(Reporter: jaws, Assigned: jaws)
References
Details
(Keywords: perf, Whiteboard: [Snappy][sps])
Attachments
(1 file, 1 obsolete file)
2.06 KB,
patch
|
jaws
:
review+
|
Details | Diff | Splinter Review |
STR:
1) Open a tab with an average size data URI as the address, for example the cat image from http://dopiaza.org/tools/datauri/examples/
2) Open a new tab, and start typing 'data' in to the address bar.
The SPS profiler shows that a ton of time is spent within adjustHeight of the rich-result-popup in autocomplete.xml. The code within adjustHeight calls getBoundingClientRect for two rows, and then computes the difference between the top of the first row and the bottom of the last row.
The heights of these rows shouldn't change while the program is running, so we should be able to cache the height of the row the first time this method is called, and then use the cached value from then-on.
See these two profiles for examples of the jank I am seeing (filter on adjustHeight):
http://people.mozilla.com/~bgirard/cleopatra/?report=f8d697a5720acd9d00d0fabc01c8a26ff88256c9
http://people.mozilla.com/~bgirard/cleopatra/?report=7331ec1c982940482150016f005b77c16e8b75ec
Attachment #674604 -
Flags: review?(enndeakin)
Comment 1•12 years ago
|
||
Comment on attachment 674604 [details] [diff] [review]
Patch
This patch doesn't allow the row height to change nor allows having rows of different heights. I assume that is ok.
Attachment #674604 -
Flags: review?(enndeakin) → review+
Assignee | ||
Comment 2•12 years ago
|
||
Comment on attachment 674604 [details] [diff] [review]
Patch
I'll change this so it only affects the awesomebar.
Attachment #674604 -
Flags: review+
Assignee | ||
Updated•12 years ago
|
Summary: Adjusting the height of a rich result popup requires too many reflows and layouts → Adjusting the height of the awesomebar requires too many reflows and layouts
Assignee | ||
Comment 3•12 years ago
|
||
Attachment #674604 -
Attachment is obsolete: true
Attachment #674893 -
Flags: review?(dao)
Comment 4•12 years ago
|
||
Comment on attachment 674893 [details] [diff] [review]
Patch v2
Firefox is the primary consumer of the rich-results binding, so I think we should take the first patch.
Attachment #674893 -
Flags: review?(dao)
Updated•12 years ago
|
Keywords: perf
Summary: Adjusting the height of the awesomebar requires too many reflows and layouts → Adjusting the height of the awesomebar results popup requires too many layout flushes
Assignee | ||
Comment 5•12 years ago
|
||
Comment on attachment 674604 [details] [diff] [review]
Patch
Re-setting the r+ from enn.
https://hg.mozilla.org/integration/mozilla-inbound/rev/0fc382c36b4c
Attachment #674604 -
Attachment is obsolete: false
Attachment #674604 -
Flags: review+
Assignee | ||
Updated•12 years ago
|
Attachment #674893 -
Attachment is obsolete: true
Comment 6•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
You need to log in
before you can comment on or make changes to this bug.
Description
•