New issue
Advanced search Search tips

Issue 806271 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Feature



Sign in to add a comment

Always process one-off input events with high priority

Project Member Reported by altimin@chromium.org, Jan 26 2018

Issue description

Separate input event handling from the rest of the compositor tasks and (try to) unconditionally prioritize them. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 29 2018

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

commit bb0860d00ed3803795a88a608257e3ba7704fab9
Author: Alexander Timin <altimin@chromium.org>
Date: Mon Jan 29 13:27:16 2018

[scheduler] Input task queue

Split out input task queue from the compositor task queue and use it in
content/renderer/input's MainThreadEventQueue.

For now scheduler applies the exact same policies to the new queue, so
this patch does not affect scheduling policies. It is planned in the
future to run input task queue with high priority unconditionally.

R=skyostil@chromium.org,haraken@chromium.org,dtapuska@chromium.org
BUG= 806271 

Change-Id: I73204187131d01b936a0a5d5052b8969a62205eb
Reviewed-on: https://chromium-review.googlesource.com/888521
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532409}
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/content/renderer/render_widget.cc
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/Source/platform/scheduler/renderer/main_thread_task_queue.cc
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/Source/platform/scheduler/renderer/main_thread_task_queue.h
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/Source/platform/scheduler/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/public/platform/scheduler/test/fake_renderer_scheduler.h
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/third_party/WebKit/public/platform/scheduler/test/mock_renderer_scheduler.h
[modify] https://crrev.com/bb0860d00ed3803795a88a608257e3ba7704fab9/tools/metrics/histograms/enums.xml

Project Member

Comment 2 by bugdroid1@chromium.org, Jan 30 2018

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

commit ef42564665d915f2d2294d0bfa3a9ab5632c9777
Author: Alexander Timin <altimin@chromium.org>
Date: Tue Jan 30 20:47:24 2018

[scheduler] Experiment to always treat input events as high-priority.

Set input task queue to always be high priority when field trial is
enabled.

Add testing trial config for this experiment.

R=rkaplow@chromium.org,dtapuska@chromium.org
BUG= 806271 

Change-Id: If299590b2e3d023af493975c98c71853d04604c0
Reviewed-on: https://chromium-review.googlesource.com/890523
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533015}
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/BUILD.gn
[add] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/child/features.h
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/renderer/main_thread_scheduler_helper.cc
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/renderer/main_thread_task_queue.cc
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/renderer/main_thread_task_queue.h
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/ef42564665d915f2d2294d0bfa3a9ab5632c9777/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 3

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

commit 4ac838955614fc5f48e38f8b91dac40eff5bcddd
Author: Alexander Timin <altimin@chromium.org>
Date: Tue Jul 03 09:32:50 2018

[scheduler] Enable high-priority input by default.

Enable the feature by default and remove waterfall config.

R=skyostil@chromium.org,rkaplow@chromium.org
TBR=kenrb@chromium.org
BUG= 806271 

Change-Id: I20627952407b2cb7926060b5d36d3ef5fa2db60e
Reviewed-on: https://chromium-review.googlesource.com/1102505
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572158}
[modify] https://crrev.com/4ac838955614fc5f48e38f8b91dac40eff5bcddd/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/4ac838955614fc5f48e38f8b91dac40eff5bcddd/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 23

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

commit b2aba4eb75c987a89764278569d23ea37975c380
Author: Alexander Timin <altimin@chromium.org>
Date: Mon Jul 23 11:19:09 2018

[scheduler] Actually enable high-priority input by default.

This change was dropped from
https://chromium-review.googlesource.com/c/chromium/src/+/1102505 due to
a bad merge. Add it back.

R=eseckler@chromium.org
BUG= 806271 

Change-Id: I6dc5f83cfe61ccbad3069e7d194c1dc494909ff9
Reviewed-on: https://chromium-review.googlesource.com/1145437
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577147}
[modify] https://crrev.com/b2aba4eb75c987a89764278569d23ea37975c380/third_party/blink/renderer/platform/scheduler/child/features.h

Labels: -Pri-3 Merge-Request-69 Pri-1
Requesting to merge the last change to M69. This flips the feature from disabled-by-default to enabled-by-default and the feature was tested on the waterfall and on Canary,Dev and Beta so this is quite safe.
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Cc: benmason@chromium.org
Project Member

Comment 8 by sheriffbot@chromium.org, Jul 24

Labels: -Merge-Request-69 Hotlist-Merge-Approved Merge-Approved-69
Your change meets the bar and is auto-approved for M69. Please go ahead and merge the CL to branch 3497 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 24

Labels: -merge-approved-69 merge-merged-3497
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94ecd2157f7d7f7af2aa1917dbe4eb4ac25ebe28

commit 94ecd2157f7d7f7af2aa1917dbe4eb4ac25ebe28
Author: Alexander Timin <altimin@chromium.org>
Date: Tue Jul 24 13:32:07 2018

[scheduler] Actually enable high-priority input by default.

This change was dropped from
https://chromium-review.googlesource.com/c/chromium/src/+/1102505 due to
a bad merge. Add it back.

R=eseckler@chromium.org
TBR=altimin@chromium.org
BUG= 806271 

(cherry picked from commit b2aba4eb75c987a89764278569d23ea37975c380)

Change-Id: I6dc5f83cfe61ccbad3069e7d194c1dc494909ff9
Reviewed-on: https://chromium-review.googlesource.com/1145437
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#577147}
Reviewed-on: https://chromium-review.googlesource.com/1148394
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/branch-heads/3497@{#37}
Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753}
[modify] https://crrev.com/94ecd2157f7d7f7af2aa1917dbe4eb4ac25ebe28/third_party/blink/renderer/platform/scheduler/child/features.h

Labels: -Type-Bug Type-Feature
This is has been shipped to Stable, resulting in -7% reduction in 99%-th scrolling latency percentile on Android.
Status: Fixed (was: Started)

Sign in to add a comment