Chromium Code Reviews
[email protected] (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Issue 1340073003: scheduler: Optimize for TouchStart responsiveness by modeling what the user is doing. (Closed)

Created:
5 years, 3 months ago by Sami
Modified:
5 years, 3 months ago
Reviewers:
rmcilroy
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org, scheduler-bugs_chromium.org, jochen (gone - plz use gerrit)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

scheduler: Optimize for TouchStart responsiveness by modeling what the user is doing. We have come to realize that TouchStart responsiveness is really critical for a good user experience. This patch introduces a (initially very simple) system for modeling what the user is doing and predicting when they are likely to initiate a new gesture (taps are ignored). We order task priority accordingly. In addition we extend the estimation of task cost to loading tasks which are often a significant source of jank. Load tasks can be very long (easily up to 1000ms). There is no good way to cooperatively schedule such a task but the least worst user experience seems to be if we get them out of the way as fast as possible. Ideally we'd prioritize them but the order of IPC and LoadingTasks currently needs to be more or less in lockstep. Instead we deprioritize compositor tasks inside a compositor gesture, which has the effect of prioritizing other work. Expected changes on Perf bots: 1. first_gesture_scroll_update_latency in smoothness.scrolling_tough_ad_cases should go down. This should be highly user visible. 2. It's possible some compositor metrics such as queueing_durations may regress. I don't expect this to be user visible. This is a reland of https://codereview.chromium.org/1320633002. Original author: Alex Clarke <[email protected]>; BUG=510398, 530250 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel [email protected] Committed: https://crrev.com/262700e6bbb78cc2348b5ed86326de9bfaeded21 Cr-Commit-Position: refs/heads/master@{#348886}

Patch Set 1 #

Patch Set 2 : Fix test flake on Windows. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1271 lines, -433 lines) Patch
M components/components_tests.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M components/scheduler/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler.h View 2 chunks +15 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler.cc View 1 chunk +33 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.h View 1 7 chunks +63 lines, -53 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.cc View 1 21 chunks +317 lines, -239 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl_unittest.cc View 1 35 chunks +316 lines, -125 lines 0 comments Download
M components/scheduler/renderer/task_cost_estimator.h View 1 2 chunks +8 lines, -3 lines 0 comments Download
M components/scheduler/renderer/task_cost_estimator.cc View 1 3 chunks +13 lines, -4 lines 0 comments Download
M components/scheduler/renderer/task_cost_estimator_unittest.cc View 1 4 chunks +19 lines, -9 lines 0 comments Download
A components/scheduler/renderer/user_model.h View 1 chunk +69 lines, -0 lines 0 comments Download
A components/scheduler/renderer/user_model.cc View 1 chunk +110 lines, -0 lines 0 comments Download
A components/scheduler/renderer/user_model_unittest.cc View 1 chunk +298 lines, -0 lines 0 comments Download
M components/scheduler/scheduler.gypi View 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 3 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (2 generated)
Sami
This is a reland of Alex's user model patch enhanced with fixes for the windows-only ...
5 years, 3 months ago (2015-09-14 18:10:52 UTC) #2
Sami
(TBR'ing content/renderer/render_frame_impl.cc since it's unchanged for last time.)
5 years, 3 months ago (2015-09-14 18:11:36 UTC) #3
Sami
(In case it wasn't obvious, it's the diff from patch set #1 to #2 that ...
5 years, 3 months ago (2015-09-15 13:03:29 UTC) #4
rmcilroy
lgtm, thanks.
5 years, 3 months ago (2015-09-15 13:43:15 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1340073003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1340073003/20001
5 years, 3 months ago (2015-09-15 13:43:45 UTC) #7
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 3 months ago (2015-09-15 14:54:30 UTC) #8
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/262700e6bbb78cc2348b5ed86326de9bfaeded21 Cr-Commit-Position: refs/heads/master@{#348886}
5 years, 3 months ago (2015-09-15 14:55:22 UTC) #9
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:44:57 UTC) #10
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/262700e6bbb78cc2348b5ed86326de9bfaeded21
Cr-Commit-Position: refs/heads/master@{#348886}

Powered by Google App Engine
This is Rietveld 408576698