New issue
Advanced search Search tips

Issue 703344 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Launch-OWP
Launch-Accessibility: ----
Launch-Exp-Leadership: ----
Launch-Leadership: ----
Launch-Legal: ----
Launch-M-Approved: 60-Dev , 60-Beta , 60-Stable
Launch-M-Target: 60-Dev , 60-Beta , 60-Stable
Launch-Privacy: ----
Launch-Security: ----
Launch-Test: ----
Launch-UI: ----
Rollout-Type: ----



Sign in to add a comment

rAF Aligned Mouse Input Events

Project Member Reported by dtapu...@chromium.org, Mar 20 2017

Issue description

Technical feature description:
Run an experiment where we turn on RAF aligned mouse input on Canary and Dev.

Continuous events will be dispatched according to the BeginFrame callback instead of immediately.


Eng owner: dtapuska

Design doc:
https://docs.google.com/document/d/1aM9AqyYuceRHOmsJZXFKcgi_D4jvFAymYvI36OEwIpI/edit?usp=sharing

Finch/experimentation:

50/50 trial

A number of histograms will likely change:
Event.MainThreadEventQueue.CoalescedCount should increase
Event.MainThreadEventQueue.Continuous.QueueingTime should be below a single frame but should move around to be more of a random distribution
Event.MainThreadEventQueue.NonContinuous.QueueingTime should stay the same
 
Cc: tdres...@chromium.org rbyers@chromium.org
Cc: nikunjb@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f

commit 9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f
Author: dtapuska <dtapuska@chromium.org>
Date: Fri Apr 21 15:18:31 2017

Allow MainThreadEventQueue to call the RenderWidget directly.

Allocate the MainThreadEventQueue from the render widget allowing
a binding between then. This allows us to avoid
serialization/deserialization of events to IPC messages inside the
renderer. It also allows us to avoid jumping through a number of hoops
looking the input handler in a table. For example requesting a begin
main frame from the main thread doesn't require a hop to the compositor
and back to the main thread any more.

BUG= 703344 

Review-Url: https://codereview.chromium.org/2813683002
Cr-Commit-Position: refs/heads/master@{#466340}

[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/common/input/input_event_dispatch_type.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/idle_user_detector.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/idle_user_detector.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/input_event_filter.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/input_event_filter.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/input_event_filter_unittest.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/input_handler_manager.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/input_handler_manager.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/input_handler_manager_client.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/main_thread_event_queue_task.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/main_thread_event_queue_unittest.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/render_widget_input_handler.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/render_widget_input_handler.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/input/render_widget_input_handler_delegate.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/render_view_impl.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/render_view_impl.h
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/render_widget.cc
[modify] https://crrev.com/9ec1a91b89f0dd7393a1c38fa84a7064d5984c1f/content/renderer/render_widget.h

Project Member

Comment 5 by bugdroid1@chromium.org, May 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53bb807ea69fe34161a9cd85dfa0a20a7bf14fea

commit 53bb807ea69fe34161a9cd85dfa0a20a7bf14fea
Author: dtapuska <dtapuska@chromium.org>
Date: Mon May 01 22:45:44 2017

Add a BeginMainFrame fallback to MainThreadEventQueue.

I believe we aren't always getting the begin main frame signal leading
to an increase in hung renderers when rAF mouse aligned input is
enabled. Test my theory by adding a timer that fires after a
significantly long time (5s) if we are waiting for a signal but
haven't received it.

BUG= 703344 

Review-Url: https://codereview.chromium.org/2846333002
Cr-Commit-Position: refs/heads/master@{#468464}

[modify] https://crrev.com/53bb807ea69fe34161a9cd85dfa0a20a7bf14fea/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/53bb807ea69fe34161a9cd85dfa0a20a7bf14fea/content/renderer/input/main_thread_event_queue.h
[modify] https://crrev.com/53bb807ea69fe34161a9cd85dfa0a20a7bf14fea/content/renderer/input/main_thread_event_queue_unittest.cc
[modify] https://crrev.com/53bb807ea69fe34161a9cd85dfa0a20a7bf14fea/tools/metrics/histograms/histograms.xml

Project Member

Comment 6 by bugdroid1@chromium.org, May 23 2017

Labels: M-60 Launch-M-Approved-60-Dev Launch-M-Approved-60-Beta Launch-M-Approved-60-Stable Launch-M-Target-60-Dev Launch-M-Target-60-Beta Launch-M-Target-60-Stable
Status: Fixed (was: Assigned)
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb79dc9defdfa3ea23441bd7a14404d862952137

commit fb79dc9defdfa3ea23441bd7a14404d862952137
Author: Dave Tapuska <dtapuska@chromium.org>
Date: Wed Nov 29 13:35:23 2017

Fix rAF aligned mouse input in background extensions.

Change https://chromium-review.googlesource.com/791031
missed a variable that was switching off the initialization of
mouse rAF aligned events. Keep the variable around since
it seems to be used for extensions.

BUG= 703344 , 789336 , 789096 
TBR=mustaq@chromium.org

Change-Id: Ia9e23bc59fa9903f1413ca43e153843280d7805d
Reviewed-on: https://chromium-review.googlesource.com/795451
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520093}
[modify] https://crrev.com/fb79dc9defdfa3ea23441bd7a14404d862952137/content/renderer/input/main_thread_event_queue.cc
[modify] https://crrev.com/fb79dc9defdfa3ea23441bd7a14404d862952137/content/renderer/input/main_thread_event_queue.h

Sign in to add a comment