New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 722921 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 704681
issue 731255



Sign in to add a comment

Change how events are dispatched during telemetry

Project Member Reported by sadrul@chromium.org, May 16 2017

Issue description

The input events dispatched during telemetry tests are currently aligned with begin-frame. This is not the case in real uses. We want to change this, so that events can be dispatched without aligning to begin-frame. This would allow us to measure performance for real use-cases, as well as allow testing multiple events per begin-frame.
 

Comment 2 by lanwei@chromium.org, May 17 2017

Cc: lanwei@chromium.org
Cc: yosin@chromium.org xiaoche...@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, May 17 2017

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

commit 233e1b3593cd4a9565e2ffef1a9ec97207d740e2
Author: sadrul <sadrul@chromium.org>
Date: Wed May 17 22:56:20 2017

input: Change how synthesized events are dispatched in telemetry tests.

Synthesized events are still generated and dispatched on begin-frame. But
the dispatch is somewhat simplified in this change. Some detail:

. Before this change, SyntheticGestureController would request for the
  next input flush through the SyntheticGestureTarget, which would then
  request for flush to RenderWidgetHostImpl. This CL changes that, so that
  SyntheticGestureController can directly request for flush to
  RenderWidgetHostImpl, through a callback installed during construction
  of SyntheticGestureController.

BUG= 722921 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_gesture_controller.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_gesture_controller.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_gesture_target.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_gesture_target_base.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_gesture_target_base.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/input/synthetic_pointer_action_unittest.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_view_base.cc
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/233e1b3593cd4a9565e2ffef1a9ec97207d740e2/content/test/test_render_view_host.h

Project Member

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

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

commit 94a4ca46bbe956a4ae033e7e207c584abe1e3645
Author: sadrul <sadrul@chromium.org>
Date: Fri May 19 17:41:00 2017

input: Fix running the completion callback for telemetry gesture.

Instead of running the completion callback right after dispatching the
last event, make sure it runs after the last event processing is
complete. For example, if the last event triggers a fling, then it should
be marked complete only after the fling ends.

BUG= 722921 

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

[modify] https://crrev.com/94a4ca46bbe956a4ae033e7e207c584abe1e3645/content/browser/renderer_host/input/synthetic_gesture_controller.cc
[modify] https://crrev.com/94a4ca46bbe956a4ae033e7e207c584abe1e3645/content/browser/renderer_host/input/synthetic_gesture_controller.h
[modify] https://crrev.com/94a4ca46bbe956a4ae033e7e207c584abe1e3645/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc
[modify] https://crrev.com/94a4ca46bbe956a4ae033e7e207c584abe1e3645/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/94a4ca46bbe956a4ae033e7e207c584abe1e3645/content/browser/renderer_host/render_widget_host_impl.h

Project Member

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

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

commit a6251cb3214b42349e7208d285a5e2e01276fe6f
Author: sadrul <sadrul@chromium.org>
Date: Tue May 23 16:06:27 2017

input: Dispatch synthesized events at regular intervals.

Instead of dispatching events at begin-frame + offset, dispatch events
at regular intervals (~16ms). The timer starts at an offset from the
first begin frame.

BUG= 722921 

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

[modify] https://crrev.com/a6251cb3214b42349e7208d285a5e2e01276fe6f/content/browser/renderer_host/input/synthetic_gesture_controller.cc
[modify] https://crrev.com/a6251cb3214b42349e7208d285a5e2e01276fe6f/content/browser/renderer_host/input/synthetic_gesture_controller.h
[modify] https://crrev.com/a6251cb3214b42349e7208d285a5e2e01276fe6f/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, May 30 2017

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

commit e437543b5a4c01773a489e26659a9b05b7d7c365
Author: sadrul <sadrul@chromium.org>
Date: Tue May 30 23:39:32 2017

input: Immediately start timer for synthetic event dispatch.

The timer to send synthesized input events during telemetry tests is
currently started at begin-frame + fixed-offset. The reason for doing
this is to minimize the noise in the results. However, main thread
already does rAF alignment for input event dispatch, which likely means
that we can change the browser to always immediately start the timer, and
still not affect the noise. So do that in this CL, which simplifies the
code too.

BUG= 725949 ,  722921 

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

[modify] https://crrev.com/e437543b5a4c01773a489e26659a9b05b7d7c365/content/browser/renderer_host/input/synthetic_gesture_controller.cc
[modify] https://crrev.com/e437543b5a4c01773a489e26659a9b05b7d7c365/content/browser/renderer_host/input/synthetic_gesture_controller.h

Comment 8 by sky@chromium.org, Jun 8 2017

Blocking: 731255
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 14 2017

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

commit 110abc75b89d7c3b499454df9c70cbfaff3a316a
Author: sadrul <sadrul@chromium.org>
Date: Wed Jun 14 08:22:27 2017

input: Remove dead code.

Synthesized input events for telemetry tests are no longer triggered on a
begin frame (after crrev.com/475692). So remove the now-unused code for
requesting a begin frame for dispatching synthesized input events.

BUG= 722921 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/input/synthetic_gesture_controller.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/110abc75b89d7c3b499454df9c70cbfaff3a316a/content/test/test_render_view_host.h

Status: Fixed (was: Started)

Sign in to add a comment