Closed
Bug 1364018
Opened 7 years ago
Closed 7 years ago
Coalesce wheel events more aggressively
Categories
(Core :: DOM: UI Events & Focus Handling, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox55 | --- | fixed |
People
(Reporter: smaug, Assigned: smaug)
Details
(Whiteboard: [platform-rel-GoogleSheets])
Attachments
(1 file)
3.35 KB,
patch
|
stone
:
review+
|
Details | Diff | Splinter Review |
I think we can tweak the current logic a bit to coalesce events even more. Patch coming.
Assignee | ||
Comment 1•7 years ago
|
||
Or there are various options here. aEvent.mTimeStamp < mLastWheelProcessedTimeFromParent could become something like aEvent.mTimeStamp < mLastWheelProcessedTimeFromParent + TimeDuration::FromMilliseconds(250.0); Or just always coalesce when the next message is wheel, and use time comparison only when peeking some more messages.
Assignee | ||
Comment 2•7 years ago
|
||
Or another approach is to coalesce more on pages which use lots of time in wheel listeners. That sounds better. We already do that by having mLastWheelProcessedTimeFromParent, but we could punish such pages even more.
Assignee | ||
Comment 3•7 years ago
|
||
I filed this bug after profiling Google Spreadsheet scrolling on the Quantum Flow reference hw. https://treeherder.mozilla.org/#/jobs?repo=try&revision=97caf8e72e488326b9ff86d73fc95a43e41f8f9e The approach shouldn't be too aggressive, since we after all try to coalesce only if there are some wheel events in the IPC channel. Relying on the processing duration should make this scale better in different kinds of setups: on slower machines this lets us coalesce more.
Assignee: nobody → bugs
Attachment #8866737 -
Flags: review?(sshih)
Comment 4•7 years ago
|
||
There's also the "compress" option in IPDL. We seem to use it for RealMouseMoveEvent but I don't see it being used for wheel stuff.
Comment 5•7 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #4) > There's also the "compress" option in IPDL. We seem to use it for > RealMouseMoveEvent but I don't see it being used for wheel stuff. That's because we want to accumulate the delta values of the coalesced wheel event and compensate them to the event we dispatched.
Comment 6•7 years ago
|
||
Comment on attachment 8866737 [details] [diff] [review] wheel_coalesce_more.diff LGTM, thanks.
Attachment #8866737 -
Flags: review?(sshih) → review+
Pushed by opettay@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/1944785ec625 Coalesce wheel events more aggressively, r=stone
Comment 8•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1944785ec625
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Updated•7 years ago
|
Whiteboard: [qf:p1][platform-rel-GoogleSheets]
Updated•5 years ago
|
Component: Event Handling → User events and focus handling
Updated•2 years ago
|
Performance Impact: --- → P1
Whiteboard: [qf:p1][platform-rel-GoogleSheets] → [platform-rel-GoogleSheets]
You need to log in
before you can comment on or make changes to this bug.
Description
•