Closed Bug 1830979 Opened 2 years ago Closed 2 years ago

Reduce number of rows rendered in scroll event

Categories

(Thunderbird :: Folder and Message Lists, enhancement)

Thunderbird 113
enhancement

Tracking

(thunderbird_esr102 unaffected, thunderbird113 wontfix, thunderbird114+ fixed)

RESOLVED FIXED
115 Branch
Tracking Status
thunderbird_esr102 --- unaffected
thunderbird113 --- wontfix
thunderbird114 + fixed

People

(Reporter: leftmostcat, Assigned: leftmostcat)

References

Details

Attachments

(2 files)

At present, each scroll causes the full tolerance buffer to be added to the DOM, including data fetch, synchronously. This makes long scrolls extremely expensive.

You're aware of Ben's "prototype" which doesn't create new rows but uses and repopulates the existing ones?

http://benbucksch.github.io/trex/fastlist-test.html - This works best in Firefox.
From https://mail.mozilla.org/pipermail/tb-planning/2017-March/005322.html

(In reply to MM from comment #1)

You're aware of Ben's "prototype" which doesn't create new rows but uses and repopulates the existing ones?

I had not been, thank you! That was one of the techniques I tried during prototyping, though I hit some bugs in the process. The first stage of this is just making sure we're not filling in rows which aren't visible and may be thrown away on the next frame, as that currently requires an XPCOM call. The next stage, however, is exactly that: reusing a single set of rows to avoid adding/removing components from the DOM altogether. Those links will likely help a lot.

Attachment #9331715 - Attachment description: Bug 1830979 - Break out and standardize visible row calculations. r=#thunderbird-reviewers → Bug 1830979 - Break out and standardize tree element visibility calculations. r=#thunderbird-reviewers
Target Milestone: --- → 115 Branch

Pushed by alessandro@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/f09945e842c2
Break out and standardize tree element visibility calculations. r=darktrojan
https://hg.mozilla.org/comm-central/rev/cec216f5abd4
Only fill tolerance buffer during idle ticks. r=darktrojan

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Version: Trunk → Thunderbird 113

Comment on attachment 9331716 [details]
Bug 1830979 - Only fill tolerance buffer during idle ticks. r=#thunderbird-reviewers

[Triage Comment]
Approved for beta

Attachment #9331716 - Flags: approval-comm-beta+

Comment on attachment 9331715 [details]
Bug 1830979 - Break out and standardize tree element visibility calculations. r=#thunderbird-reviewers

[Triage Comment]
Approved for beta

Attachment #9331715 - Flags: approval-comm-beta+
Regressions: 1833797
Regressions: 1833845
Regressions: 1835173
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: