Throttle requestIdleCallback to 1Hz in the background tabs. |
||||
Issue descriptionCurrently rIC fires up to 20 times a second in a background tab for 10 seconds. We should further limit this rate to 1Hz, integrate it into existing throttling mechanisms. Probably 10 second limit should be increased to match the reduced rate. At the moment I'm thinking about 1Hz for 5 minutes (300 calls in total), which should be an adequate replacement for existing behaviour (20 calls a second for 10 seconds, 200 calls in total)
,
Jul 19 2017
Re #1: I also like this idea a lot from attribution perspective — splitting GC out will help us understand real rIC performance in the world.
,
Jul 24 2017
Since we've now limited idle periods to cycle once every 50ms in background tabs, it feels like we probably don't need to throttle more here than that? I also feel that we shouldn't split idle work to different classes since it feels simpler if all idle work should follows the same contract.
,
Jul 27 2017
It seems strange to me that rIC fires more frequently than setTimeout(0) in background tabs, but maybe it won't actually cause any real world problems?
,
Aug 4 2017
That's my assumption too. I looked at UMA briefly and for whatever reason we still run a few idle tasks after a tab has been in the background for more than five minutes: https://uma.googleplex.com/p/chrome/histograms/?endDate=20170803&dayCount=1&histograms=RendererScheduler.TaskDurationPerQueueType2.Background%2CRendererScheduler.TaskDurationPerQueueType2.Background.AfterFifthMinute&fixupData=true&showMax=true&filters=platform%2Ceq%2CW%2Cchannel%2Ceq%2C2%2Cisofficial%2Ceq%2CTrue&implicitFilters=isofficial I'm not sure what would cause that.
,
May 8 2018
,
Aug 1
,
Aug 15
|
||||
►
Sign in to add a comment |
||||
Comment 1 by rmcilroy@chromium.org
, Jul 18 2017