Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 6 users
Status: WontFix
Owner: ----
Closed: Oct 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment
Run WebGL stress tests on bots
Project Member Reported by kbr@chromium.org, May 17 2012 Back to list
NVIDIA provided their WebGL stress test harness (attached) which cycles through several demos from three.js (https://github.com/mrdoob/three.js/). The harness is a little out of date with respect to the available demos, but it would be placed into the examples/ subdirectory.

They reported that Chrome stops rendering correctly after not many iterations of this test; I can confirm that within about five minutes of running the test, Chrome Canary (r137350) stops rendering the demos correctly. Closing the window and starting fresh makes them work again, so there's no unrecoverable problem. I suspect the root cause is that we aren't releasing WebGL contexts eagerly enough and are running out of GPU resources. https://bugs.webkit.org/show_bug.cgi?id=76225 has already been filed about this issue.

We should incorporate some sort of stress tests into our automated testing infrastructure; if not these exact tests, then perhaps something more stressful.

 
WebGL_Stress.html
1.5 KB View Download
Comment 1 by kbr@chromium.org, Jul 12 2012
Status: Available
Here's a revised version of WebGL_Stress.html which can be dropped into the examples/ directory of a current Three.js checkout. It supports being referenced via 'python -m SimpleHTTPServer', by replacing only the correct portion of the URL when repeatedly navigating the iframe.

WebGL_Stress.html
1.8 KB View Download
@zmo or gmann can you pick up the task of adding these to the bots? We should have room on them; if we need more machines let me know.
Comment 3 by gman@chromium.org, Jul 17 2012
Owner: gman@chromium.org
Status: Assigned
Yea sure.

Are they ready to check in? Meaning can we pass them yet? Should we wait until we can?
Comment 4 by kbr@chromium.org, Jul 17 2012
Unfortunately we won't yet pass these tests so I don't think we should incorporate them yet. My first approach for fixing https://bugs.webkit.org/show_bug.cgi?id=76225 was rejected. While I agree in principle with the objections on that bug, I think it is important for Chrome to be allowed to reach parity with WebKit. I am continuing to investigate other fixes for that bug.

Comment 5 by kbr@chromium.org, Jul 25 2012
Labels: WebKit-ID-76225
An initial hack was committed for https://bugs.webkit.org/show_bug.cgi?id=76225 which at least gets Chrome starting to run these stress tests reliably. Hopefully it won't get rolled out. The heuristics will be evolved going forward, but once that WebKit roll is integrated, we're ready to start running these tests.

There's one problem: when they fail to run well, the failure mode is silent. The WebGL back buffer is just downsampled to a really low resolution, at least on my Linux workstation. Somehow we need to watch for that condition and consider it a test failure.

We need to remove randomness from the examples, have them render at a known point in time at the end of the test, and read back a couple of pixels (upper right, center?) in the frame buffer and assert they're within the expected range for each test.

Project Member Comment 6 by bugdroid1@chromium.org, Jul 25 2012
Labels: -WebKit-ID-76225 WebKit-ID-76225-RESOLVED WebKit-Rev-123556
https://bugs.webkit.org/show_bug.cgi?id=76225
http://trac.webkit.org/changeset/123556
Project Member Comment 7 by bugdroid1@chromium.org, Jul 25 2012
Labels: -WebKit-ID-76225-RESOLVED WebKit-ID-76225-REOPENED
https://bugs.webkit.org/show_bug.cgi?id=76225
Project Member Comment 8 by bugdroid1@chromium.org, Jul 25 2012
Labels: -WebKit-ID-76225-REOPENED WebKit-ID-76225-RESOLVED
https://bugs.webkit.org/show_bug.cgi?id=76225
Project Member Comment 9 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-Internals -Feature-GPU-Testing Cr-Internals-GPU-Testing Cr-Internals
Comment 10 by kbr@chromium.org, Dec 10 2013
Labels: Cr-Blink-WebGL
Owner: ----
Status: Available
Comment 11 by kbr@chromium.org, Dec 10 2013
Cc: -gman@chromium.org bajones@chromium.org
More stress tests like these would still be valuable. However would need to carefully balance cycle time vs. coverage. These tests in their current form run too slowly.

Comment 12 by kbr@chromium.org, Oct 9 2015
Status: WontFix
At this point there are some context creation and destruction stress tests in the WebGL conformance suite and they're running both on the waterfall bots and commit queue. Since this work was done under other bug IDs I'm closing this as WontFix (not reproducible).

Sign in to add a comment