• rmcilroy's avatar
    [content]: Add support for long idle times in the Blink Scheduler. · 143bfac3
    rmcilroy authored
    Adds support for long idle times in the Blink Scheduler.
    A long idle time is initiated
    if there are no frames being drawn and we are not in TOUCHSTART policy. Each
    long idle period will be a maximum of 50 milliseconds or the time to the next
    pending delayed task (whichever is sooner). Long idle periods will continually
    be scheduled until a call to EndIdlePeriod is made. If there are no pending
    tasks in the idle queue then the callback used to initate the next long idle
    task will be posted on the control_task_after_wakeup_runner_ task runner, thus
    ensuring that it won't cause the scheduler to wake up until another task
    could have posted more idle work.
    
    Currently, the long idle tasks are not enabled due to crbug.com/467655 -
    once this is fixed they will be enabled.
    
    Long idle task design doc:
    https://docs.google.com/a/chromium.org/document/d/1yBlUdYW8VTIfB-DqhvQqUeP0kf-Ap1W4cao2yQq58Do/edit
    
    BUG=455713,467655
    
    Review URL: https://codereview.chromium.org/968073003
    
    Cr-Commit-Position: refs/heads/master@{#320785}
    143bfac3
renderer_scheduler_impl.h 9.08 KB