New issue
Advanced search Search tips
Starred by 1 user
Status: Fixed
Closed: Apr 2017
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug

issue 563816

Sign in to add a comment
OffscreenCanvas commit() animations get progressively slower until the browser is unusable
Project Member Reported by, Apr 5 2017 Back to list
Running an commit based rendering loop in a worker keeps getting slower and slower.

Looking at a trace graph, I see that the worker continues to run in full swing at 60fps, but the Browser process keeps slowing down the rate at which it is presenting frames.  Looking at task manager, process sizes are steady, so it does not look like we are leaking anything, at least not anything big. Also the Browser process is not taking a lot of CPU, But the GPU process is busy.  I wonder if we are accumulating quads or something like that,

I am currently observing this on Mac.

Attached is a trace that shows the issue as observed on Mac with Chrome Canary 59.0.3054.0
Comment 1 by, Apr 5 2017
1.0 MB Download
Comment 2 by, Apr 10 2017
Status: Started
Project Member Comment 3 by, Apr 12 2017
The following revision refers to this bug:

commit b4efc8c9a47145a0d44414db4a6942d31bbde2c8
Author: junov <>
Date: Wed Apr 12 22:30:03 2017

Throttle frames in OffscreenCanvasFrameDispatcherImpl

Propagate gpu/compositor backpressure.  This prevents the browser from
hanging when OffscreenCanvas animations cannot render at 60fps because
they are GPU bound.

This change Makes OffscreenCanvas ignore the BeginFrame signal when
backpressure is detected.  It uses the call to
OffscreenCanvasFrameDispatcherImpl::DidReceiveCompositorFrameAck as a
signal to unblock the next animation frame.

BUG= 708709 

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


Comment 4 by, Apr 13 2017
Status: Fixed
Sign in to add a comment