WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
185425
REGRESSION(
r230743
): Mousemove events are not coalesced properly, mousemove/drag is very laggy
https://bugs.webkit.org/show_bug.cgi?id=185425
Summary
REGRESSION(r230743): Mousemove events are not coalesced properly, mousemove/d...
Blaze Burg
Reported
2018-05-08 09:00:01 PDT
Oops.
Attachments
Patch
(2.73 KB, patch)
2018-05-08 09:16 PDT
,
Blaze Burg
no flags
Details
Formatted Diff
Diff
For EWS
(2.74 KB, patch)
2018-05-08 13:26 PDT
,
Blaze Burg
no flags
Details
Formatted Diff
Diff
For EWS
(2.68 KB, patch)
2018-05-08 14:06 PDT
,
Blaze Burg
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Blaze Burg
Comment 1
2018-05-08 09:04:53 PDT
<
rdar://problem/39323336
>
Blaze Burg
Comment 2
2018-05-08 09:16:39 PDT
Created
attachment 339824
[details]
Patch
Simon Fraser (smfr)
Comment 3
2018-05-08 10:43:58 PDT
Comment on
attachment 339824
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=339824&action=review
> Source/WebKit/UIProcess/WebPageProxy.cpp:1929 > + bool lastQueuedEventWasAMouseMove = m_mouseEventQueue.size() > 1 && m_mouseEventQueue.last().type() == WebEvent::MouseMove;
Why not size() > 0 ? I would call it lastQueuedEventWasMouseMove or do away with the variable entirely.
Blaze Burg
Comment 4
2018-05-08 12:22:29 PDT
(In reply to Simon Fraser (smfr) from
comment #3
)
> Comment on
attachment 339824
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=339824&action=review
> > > Source/WebKit/UIProcess/WebPageProxy.cpp:1929 > > + bool lastQueuedEventWasAMouseMove = m_mouseEventQueue.size() > 1 && m_mouseEventQueue.last().type() == WebEvent::MouseMove; > > Why not size() > 0 ?
Events are dequeued when WebProcess is done handling them. If size 0, then nothing is being processed in WebProcess. If size 1, we sent the event and are waiting on the reply. If size 2, then the first event is being processed and the second event is queued and will be sent to WebProcess when the previous event is retired. So if there is only one event and it's a mousemove, we can't update it because it's already been sent.
> I would call it lastQueuedEventWasMouseMove or do away with the variable > entirely.
Blaze Burg
Comment 5
2018-05-08 13:26:55 PDT
Created
attachment 339863
[details]
For EWS
Blaze Burg
Comment 6
2018-05-08 14:06:54 PDT
Created
attachment 339874
[details]
For EWS
Blaze Burg
Comment 7
2018-05-08 14:19:40 PDT
Committed
r231511
: <
https://trac.webkit.org/changeset/231511
>
Lucas Forschler
Comment 8
2019-02-06 09:18:49 PST
Mass move bugs into the DOM component.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug