Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Issue 1411133003: A better idle time estimator (Closed)

Created:
5 years, 1 month ago by Sami
Modified:
5 years, 1 month ago
CC:
chromium-reviews, asanka, benjhayden+dwatch_chromium.org, scheduler-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@2526
Target Ref:
refs/pending/branch-heads/2526
Project:
chromium
Visibility:
Public.

Description

A better idle time estimator The previous estimator only tracked the time between commit and the compositor deadline. That gives an unrealistic view of how much idle time is available. Consider a state where BeginMainFrame takes 10ms and a timer takes 4ms. Previously we'd have estimated there to be 2ms free. That meant we'd think there wasn't enough free time to run the 4ms timer, which is incorrect. The new estimator tracks how much time was spent inside compositor tasks (the only tasks that are 100% essential) each frame. It computes a rolling histogram from this and subtracts a user-selected percentile from the compositor frame interval to obtain the estimate of how much idle time there is. EXPECTED PERF IMPACT: * Regress smoothness.scrolling_tough_ad_cases/ first_gesture_scroll_update_latency * Possibly regress pinch zoom metrics This is because the cost estimation of loading tasks is likely wrong (too low). We will fix that separately. BUG=529245 TBR=alexclarke@chromium.org Review URL: https://codereview.chromium.org/1381273002 Cr-Commit-Position: refs/heads/master@{#354289} (cherry picked from commit 8fd4c5bff683fd6d47a2902beb13df3a433a8653) Committed: https://chromium.googlesource.com/chromium/src/+/6575ed2c8c23a1db4360cba48b548699fc186f5f

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+412 lines, -43 lines) Patch
M components/components_tests.gyp View 1 chunk +1 line, -0 lines 0 comments Download
A components/scheduler/renderer/idle_time_estimator.h View 1 chunk +58 lines, -0 lines 0 comments Download
A components/scheduler/renderer/idle_time_estimator.cc View 1 chunk +73 lines, -0 lines 0 comments Download
A components/scheduler/renderer/idle_time_estimator_unittest.cc View 1 chunk +146 lines, -0 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.h View 4 chunks +11 lines, -3 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl.cc View 12 chunks +31 lines, -24 lines 0 comments Download
M components/scheduler/renderer/renderer_scheduler_impl_unittest.cc View 10 chunks +90 lines, -16 lines 0 comments Download
M components/scheduler/scheduler.gypi View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
Sami
5 years, 1 month ago (2015-11-02 13:47:12 UTC) #1
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
6575ed2c8c23a1db4360cba48b548699fc186f5f (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698