Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 1 user
Status: Fixed
Owner:
OOO Sept 14-Sept 25
Closed: Jun 12
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Launch-OWP
Launch-Accessibility: ----
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-Status: ----
Launch-Test: ----
Launch-UI: ----
Product-Review: ----



Sign in to add a comment
rAF Aligned Mouse Input Events
Project Member Reported by dtapu...@chromium.org, Mar 20 Back to list
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
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
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

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
Sign in to add a comment