New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 788827 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 668690
Owner:
Closed: Nov 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

ARC++ app sometimes cannot use 100% CPU time even when it is in maximized/immersive mode

Project Member Reported by yusukes@chromium.org, Nov 27 2017

Issue description

Version: Chrome OS M64-10111.0.0 + Chrome 64.0.3262.0
Internal bug: b/67608626

Currently, Chrome renderer(s) seem to be able to use as much as CPU time they want even when they are completely covered by e.g. an ARC++ window, and that may be causing some jank on the app window. Unless I'm mistaken, crbug.com/738387 is only for skipping _rendering_ when the renderer is occluded, but I think such a renderer can still do whatever JavaScript work for example because its cpu.share cgroup is unchanged (1024 i.e. 100%).

fdoray@:
Is there a plan to limit CPU usage of foreground Chrome renderer process(es) with either RenderProcessHostImpl::UpdateProcessPriority(), ChildProcessLauncher::SetProcessPriority(), or base::SetProcessBackgrounded() when their Chrome browser window(s) are completely covered by another window? This seems like a good thing to make sure a maximized/fullscreen ARC++ window can use 100% of CPU time.

b/67608626#comment9 has some benchmark results fyi.




 
Components: Platform>ARC
Owner: fdoray@chromium.org
Status: Assigned (was: Unconfirmed)
Temporarily assigning this to François. Can you check my question above?

Comment 2 by fdoray@chromium.org, Nov 29 2017

Mergedinto: 668690
Status: Duplicate (was: Assigned)
Yes, I'm actively working on this.

I created aura::WindowOcclusionTracker to track the occlusion state of windows. I'm now working on using signals from aura::WindowOcclusionTracker to disable rendering and throttle execution in occluded tabs. https://chromium-review.googlesource.com/c/chromium/src/+/797391


Project Member

Comment 3 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/24fc62caf6830a11ac0ccb64b6daba1e137bab96

commit 24fc62caf6830a11ac0ccb64b6daba1e137bab96
Author: Francois Doray <fdoray@chromium.org>
Date: Mon Dec 11 17:27:33 2017

Rename WebContents::GetCapturerCount() to IsBeingCaptured().

Callers don't need to know the number of capturers.

This change is a prerequisite to expose IsBeingCaptured() on
RenderWidgetHostDelegate, to let RenderWidgetHostViews
determine by themselves whether they need to render
content.

Bug:  788827 
Change-Id: If1f7d6b51901bf845d3ec3c8bb93a16f48fefaf1
Reviewed-on: https://chromium-review.googlesource.com/796932
Commit-Queue: François Doray <fdoray@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523120}
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/extensions/api/tab_capture/offscreen_tab.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/extensions/api/tab_capture/offscreen_tab.h
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/prerender/prerender_manager.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.mm
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/ui/exclusive_access/flash_fullscreen_interactive_browsertest.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/chrome/browser/ui/exclusive_access/fullscreen_controller_state_test.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/content/browser/media/media_web_contents_observer.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/content/browser/web_contents/web_contents_impl_unittest.cc
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/content/public/browser/web_contents.h
[modify] https://crrev.com/24fc62caf6830a11ac0ccb64b6daba1e137bab96/ui/views/controls/webview/webview.cc

Sign in to add a comment