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

Re: [Public WebGL] Disable software rendering

On 20/06/2011, at 3:03 PM, Glenn Maynard wrote:
> Are WebGL implementations emulating NPOT and other features when they aren't supported by hardware?

Yes, that's right. When the requested features are not entirely supported by the chipset, then the functionality is provided by software emulation. As Zhenyao Mo pointed out, this is provided by the driver and not WebGL itself so this does seem like a tricky problem.

> This won't always be possible, since you can hit a slow path in drivers without any reliable way of detecting it, but exposing what's known is better than nothing at all, if these issues are common.  This is particularly the case if WebGL itself is emulating features (because they're required); clearly the implementation knows if it itself is doing this.

I suspect that the answer may lie in the "recommended initialisation code" for WebGL, where the code should use requestAnimationFrame and _also_ check its FPS rate. That would at least mean that only one window at a time goes haywire, and the application itself should intelligently abort if the FPS rate drops too low.

One idea could be that "requestAnimationFrame" can insert a small delay before each frame if the frame rate is low, to enable the machine to breathe and catch up. That wouldn't impact on faster frame rates, and only comes into play when the frame rate is slow anyway. Then I'll be able to close the window quickly.

> Trying to guess which rendering features are fast through timing is painfully brittle, and anything that can reduce the need for it seems like a win.

We had the same problem with browser features, and "feature sniffing" won out over browser detection. Building up tables of cards seems like an elaborate version of browser detection, so a suite of feature sniffs could be a good way to approach this problem?

Sorry to keep pushing this point, but I'm experiencing life as a normal user with an enabled WebGL browser, and it's not too good... I should be able to open many tabs, and those tabs will only activate when being viewed. This is the current behaviour with Flash, and that works well.


You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email:
unsubscribe public_webgl