Refactor calling ReleaseFreeMemrmoy from RenderThreadImpl |
|||
Issue description* ReleaseFreeMemory is called from a timer with the default task runner. Replace this timer usage with PostDelayedIdleTask so that this call can be suspended on the frozen tab. Note that this call is one of the most significant task duration consumer on background tabs. * In the first place, is this periodical ReleaseFreeMemory really required? We're sure purging memory is needed on OnPurgeMemory, but should we call this periodically? Let's try A/B testing to disable this.
,
Aug 29
,
Aug 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/99c1351b89e5593e16f8005f4128808ee89a83e9 commit 99c1351b89e5593e16f8005f4128808ee89a83e9 Author: Hajime Hoshi <hajimehoshi@chromium.org> Date: Fri Aug 31 05:40:23 2018 Remove RenderThreadImpl::IdleHandler RenderThreadImpl::IdleHandler called only ReleaseFreeMemory on background tabs, which releases memory that is already free. We think this just affects the memory usage figures at the task manager. Futhermore, ReleaseFreeMemory is also called via OnPurgeMemory, so this call seems unnecessarily redundant. This CL removes RenderThreadImpl::IdleHandler as we expect this doesn't affect the real world usage. In case perf bots complain, we'll revert this fix. Bug: 878700 Change-Id: Ic7513837709598ea169ebf2a85454ba211678434 Reviewed-on: https://chromium-review.googlesource.com/1196284 Reviewed-by: Takashi Sakamoto <tasak@google.com> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Alexander Timin <altimin@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org> Cr-Commit-Position: refs/heads/master@{#587951} [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/public/renderer/render_thread.h [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/public/test/mock_render_thread.cc [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/public/test/mock_render_thread.h [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/BUILD.gn [delete] https://crrev.com/5825804e1054dff6b812fa9df63c16777ad827a9/content/renderer/idle_user_detector.cc [delete] https://crrev.com/5825804e1054dff6b812fa9df63c16777ad827a9/content/renderer/idle_user_detector.h [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_thread_impl.cc [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_thread_impl.h [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_view_impl.cc [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_widget.cc [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_widget.h [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/extensions/renderer/dispatcher.cc [modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/extensions/renderer/dispatcher.h
,
Aug 31
|
|||
►
Sign in to add a comment |
|||
Comment 1 by hajimehoshi@chromium.org
, Aug 29