[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] Parallelizing the WebGL conformance tests

On 12-11-29 11:22 PM, Gregg Tavares (社用) wrote:
Chrome recently implemented virtual contexts and for certain cases found a huge speed up. (This is what ANGLE does btw). In that case there might be less reason to limit the number of contexts.
Maybe we should do that too (I assume that 'virtual contexts' means multiplexing one GL context as many). I am just a bit concerned about losing the benefit of driver mechanisms killing one offending context while keeping other contexts alive, or giving each context its own address space as is the case in certain current drivers.


Do browsers limit the number of images? Canvases? videos? audio tags? iframes? Don't the same issues apply?
The original motivation we had for limiting the number of contexts was that many mobile devices have very low limits on the number of GL contexts that can be live at a given time. Some didn't allow more than 8 GL context overall, across all processes.


I know there are limits eventually. Out of memory for example. But some how I manage to open 10-20 tabs of sights like boingboing.net which has a flash video every 3rd or 4th post or several tabs of various sites covered in flash ads.

But you're right. Eventually sties will need to handle context lost.

I kind of agree with Chris Marin here though. I feel like maybe WebGL shouldn't require that. I'd prefer it was more like canvas 2d. The browser deals with keeping the resources around and that context lost only loses the backbuffer and/or render targets. But that's discussion is a whole other can of worms :-)

On Fri, Nov 30, 2012 at 1:01 PM, Benoit Jacob <bjacob@mozilla.com> wrote:
On 12-11-29 10:34 PM, Gregg Tavares (社用) wrote:

On Fri, Nov 30, 2012 at 4:43 AM, Kenneth Russell <kbr@google.com> wrote:
Cool! This will be a great stress test if nothing else.

Given that Firefox is now enforcing limits on the number of live WebGL
contexts, and Chrome is likely to do the same soon, will it be
necessary to author the conformance suite so that no combination of N
tests use more than, say, 16 contexts concurrently? :)

I don't think that's really possible as there's no way to know which N tests will run together. I suppose each test could say how many contexts it's going to use. 

Personally I don't think the browsers should limit the number of contexts.

Some people think we the world would be better off without Flash. I'm not going to argue whether that is true or not. But, in a world where everything that was flash is now WebGL, limiting the global number of contexts to 16 is a non starter.

Depends: if that world is also a world in which people handle context lost/restored events, then it could work nicely.

Also, for what it's worth, Firefox limits to 16 contexts _per principal_; the global limit for all principals is 32.




On Wed, Nov 28, 2012 at 10:23 PM, Gregg Tavares (社用) <gman@google.com> wrote:
> Just for the heck of it I decided to look into parallelizing the WebGL
> conformance tests
> Of course this massively abuses your browser (:-p) and there is no
> requirement that the tests pass this way but if your browser/system is up to
> it you can try running more tests in parallel to speed up running the tests.
> Just add frames=N. For example
> https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html?frames=8
> Note that in some browsers you'll probably need to refresh the page and at
> least one stand alone test to get your browser to grab the latest scripts
> instead of using older cached versions.
> in other words, go here
> https://www.khronos.org/registry/webgl/sdk/tests/conformance/attribs/gl-enable-vertex-attrib.html
> Pick "refresh"
> Then go to the link above. Pick "refresh". Things should hopefully start
> working.
> -g