Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Issue 14217005: Limit the number of WebGL contexts that are active at any given time (Closed)

Created:
7 years, 8 months ago by bajones
Modified:
7 years, 8 months ago
CC:
blink-reviews, Stephen Chennney, Zhenyao Mo
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Limit the number of WebGL contexts that are active at any given time Context count is limited per render process, and is limited to either an arbitrary count (currently 16) or a cumulative pixel count (currently 16 * 1024 * 1024). If either limit is exceeded the oldest context will be forcibly lost to allow the new one to be created. If an active context is removed a previously lost context will attempt to restore. BUG=226868 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=149135

Patch Set 1 #

Total comments: 6

Patch Set 2 : Updated and rebased on DrawingBuffer refactor #

Total comments: 1

Patch Set 3 : Fixed a rebase issue that was causing bad scales #

Patch Set 4 : Refactored to respect layering #

Patch Set 5 : Missed a couple of debug prints #

Patch Set 6 : Discovered I was doing RefPtr's wrong while debugging #

Total comments: 8

Patch Set 7 : Addressed Ken's feedback #

Patch Set 8 : Added console warnings on forced context loss #

Patch Set 9 : Rebased to latest master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+182 lines, -9 lines) Patch
M Source/core/html/canvas/WebGLRenderingContext.h View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
M Source/core/html/canvas/WebGLRenderingContext.cpp View 1 2 3 4 5 6 7 8 6 chunks +107 lines, -2 lines 0 comments Download
M Source/core/platform/graphics/gpu/DrawingBuffer.h View 1 2 3 4 5 6 7 8 5 chunks +17 lines, -2 lines 0 comments Download
M Source/core/platform/graphics/gpu/DrawingBuffer.cpp View 1 2 3 4 5 6 7 8 9 chunks +48 lines, -5 lines 0 comments Download

Messages

Total messages: 26 (0 generated)
bajones
7 years, 8 months ago (2013-04-12 21:52:50 UTC) #1
bajones
Found a bug that I'll be addressing: If the number of canvases is limited by ...
7 years, 8 months ago (2013-04-15 18:15:49 UTC) #2
Ken Russell (switch to Gerrit)
Good first step. We've talked offline about this already; a couple of comments based on ...
7 years, 8 months ago (2013-04-16 02:57:52 UTC) #3
greggman
I've said it before but I disagree with these limits. Here's a page using 12 ...
7 years, 8 months ago (2013-04-16 04:07:01 UTC) #4
bajones
On 2013/04/16 04:07:01, greggman wrote: > I've said it before but I disagree with these ...
7 years, 8 months ago (2013-04-16 05:42:17 UTC) #5
bajones
Updated CL to address some earlier feedback and to rebase on the recent DrawingBuffer changes, ...
7 years, 8 months ago (2013-04-20 05:19:59 UTC) #6
Ken Russell (switch to Gerrit)
I assume that Blink will carry forward WebKit's layering policies, but even if not, it ...
7 years, 8 months ago (2013-04-23 02:21:28 UTC) #7
jamesr
Yes, same rules apply. DrawingBuffer is more abstract and can be used by things other ...
7 years, 8 months ago (2013-04-23 03:33:09 UTC) #8
jamesr
Alternately, since WebGLRenderingContext has the calls to DrawingBuffer::resize()/reset() already, why not just keep the eviction ...
7 years, 8 months ago (2013-04-23 04:05:56 UTC) #9
bajones
Layering issues have been addressed.
7 years, 8 months ago (2013-04-23 21:48:30 UTC) #10
Ken Russell (switch to Gerrit)
This looks good overall. I'd like to take one final look before commit. https://codereview.chromium.org/14217005/diff/22001/Source/core/html/canvas/WebGLRenderingContext.cpp File ...
7 years, 8 months ago (2013-04-24 01:30:56 UTC) #11
bajones
Thanks, I'll have these addressed first thing tomorrow. https://codereview.chromium.org/14217005/diff/22001/Source/core/platform/graphics/gpu/DrawingBuffer.cpp File Source/core/platform/graphics/gpu/DrawingBuffer.cpp (right): https://codereview.chromium.org/14217005/diff/22001/Source/core/platform/graphics/gpu/DrawingBuffer.cpp#newcode459 Source/core/platform/graphics/gpu/DrawingBuffer.cpp:459: m_contextEvictionManager.clear(); ...
7 years, 8 months ago (2013-04-24 03:37:08 UTC) #12
jamesr
On 2013/04/23 04:05:56, jamesr wrote: > Alternately, since WebGLRenderingContext has the calls to > DrawingBuffer::resize()/reset() ...
7 years, 8 months ago (2013-04-24 03:43:16 UTC) #13
bajones
On 2013/04/24 03:43:16, jamesr wrote: > On 2013/04/23 04:05:56, jamesr wrote: > > Alternately, since ...
7 years, 8 months ago (2013-04-24 03:47:43 UTC) #14
bajones
Note to self: Firefox currently displays a console message when their context limit is exceeded, ...
7 years, 8 months ago (2013-04-24 18:40:23 UTC) #15
greggman
On 2013/04/24 18:40:23, bajones wrote: > Note to self: Firefox currently displays a console message ...
7 years, 8 months ago (2013-04-24 18:51:04 UTC) #16
bajones
Ken's feedback is addressed and console warnings have been added when a context is forcibly ...
7 years, 8 months ago (2013-04-24 21:31:57 UTC) #17
Ken Russell (switch to Gerrit)
Thanks for pressing forward on this. LGTM. Per our offline discussion, it's clear that GPU ...
7 years, 8 months ago (2013-04-24 22:39:00 UTC) #18
bajones
On 2013/04/24 22:39:00, kbr wrote: > Thanks for pressing forward on this. > > LGTM. ...
7 years, 8 months ago (2013-04-25 00:03:55 UTC) #19
Ken Russell (switch to Gerrit)
Let's land this as is. Are you able to do this at this point?
7 years, 8 months ago (2013-04-25 00:08:54 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bajones@chromium.org/14217005/35001
7 years, 8 months ago (2013-04-25 01:27:05 UTC) #21
commit-bot: I haz the power
Retried try job too often on win_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_layout_rel&number=2816
7 years, 8 months ago (2013-04-25 02:30:01 UTC) #22
commit-bot: I haz the power
Failed to apply the patch.
7 years, 8 months ago (2013-04-25 17:52:19 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bajones@chromium.org/14217005/51001
7 years, 8 months ago (2013-04-25 19:43:59 UTC) #24
commit-bot: I haz the power
Retried try job too often on linux_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_layout_rel&number=5496
7 years, 8 months ago (2013-04-25 20:16:55 UTC) #25
bajones
7 years, 8 months ago (2013-04-25 22:02:31 UTC) #26
Message was sent while issue was closed.
Committed patchset #9 manually as r149135 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698