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

Issue 620329 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Prevent 2D canvas from leading to GPU resource exhaustion.

Project Member Reported by junov@chromium.org, Jun 15 2016

Issue description

This is a spin off from issue 618858. The fix for 618858 Will prevent crashes from occuring after a GPU context reset.  However, we should try to prevent GPU resets from happening in the first place.  

Chrome M51-M53 is experiencing frequent GPU resets on http://slither.io, probably due to GPU resource exhaustion.  This website creates thousands of canvases, which is probably part of the problem.  It is not clear whether it is GPU-backed canvases that are the problem, or SW-backed canvases cached on the GPU.  We should mitigate both vectors.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 16 2016

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

commit 316f13fd14e0e9206850c67fa04463b99de0abd8
Author: junov <junov@chromium.org>
Date: Thu Jun 16 17:31:14 2016

Limit the number of accelerated canvases that can exist in a render process

To avoid exhausting GPU resource limits, we limit the number of the
accelerated canvas count. Previously, we only limited based on memory
consumption, wich was not enough to prevent recurring GPU context resets.

BUG= 620329 

Review-Url: https://codereview.chromium.org/2069143002
Cr-Commit-Position: refs/heads/master@{#400190}

[modify] https://crrev.com/316f13fd14e0e9206850c67fa04463b99de0abd8/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/316f13fd14e0e9206850c67fa04463b99de0abd8/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/316f13fd14e0e9206850c67fa04463b99de0abd8/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/316f13fd14e0e9206850c67fa04463b99de0abd8/third_party/WebKit/Source/platform/graphics/ImageBuffer.h

Comment 2 by junov@chromium.org, Jun 17 2016

Status: Fixed (was: Assigned)

Sign in to add a comment