New issue
Advanced search Search tips

Issue 604110 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

DelegatedFrameHost attempts Frame Subscriber capture more often than renderer draws

Project Member Reported by m...@chromium.org, Apr 16 2016

Issue description

I noticed this problem while re-working some performance tests.  In one case, I measured the renderer for a tab had executed draws almost exactly 24 FPS (over a 10-second window), while the number of frames captured by tab capture was almost 26 FPS.

Turns out the root cause was due to the tab capture indicator in the browser tab strip UI: For the first 3 seconds of the run, there were extra browser composites to animate this indicator (the flashing on-off animation).  These were causing DelegatedFrameHost::WillDrawSurface() to be called because the surface representing the tab content area was a child surface of the one representing the entire browser window.

The solution to this is quite simple: Simply do not attempt capture when the damage region of the surface is empty.
 
It's one of the current issues i have posted seconds ago.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 19 2016

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

commit 757d6a28721ebf585c1b87433ab1bd81c9199fc3
Author: miu <miu@chromium.org>
Date: Tue Apr 19 23:37:54 2016

DelegatedFrameHost: Prevent FrameSubscriber captures if damage_rect is empty.

Resolves an issue where tab capture of "perfectly @24 FPS content" was
producing frames at ~26 FPS.  See bug for details.

BUG= 604110 
R=jbauman@chromium.org

Review URL: https://codereview.chromium.org/1900313002

Cr-Commit-Position: refs/heads/master@{#388358}

[modify] https://crrev.com/757d6a28721ebf585c1b87433ab1bd81c9199fc3/content/browser/renderer_host/delegated_frame_host.cc

Comment 3 by m...@chromium.org, May 3 2016

Status: Fixed (was: Started)
This improved smoothness/freezing scores in our lab across-the-board, and I've been able to confirm perfect framerates now!  :)

Comment 4 by m...@chromium.org, May 3 2016

Status: Verified (was: Fixed)

Sign in to add a comment