[Public WebGL] EXT_shader_texture_lod in WebGL2?

Maksims Mihejevs [email protected]
Sat Jan 21 07:37:15 PST 2017

On 21 January 2017 at 12:36, Florian Bösch <[email protected]> wrote:

> On Sat, Jan 21, 2017 at 1:32 PM, Maksims Mihejevs <[email protected]>
> wrote:
>> And more importantly, if any implementation is done, it has to be done
>> not using CPU path.
>> We've seeing already many enormous issues. For example MSAA with ANGLE
>> has CPU path, and is unusable at all, as performance drops insanely. ETC2
>> was another case where CPU path was pushed a lot. And if this happens, for
>> sake of "best availability support", you then damaging performance and
>> quality so badly, that we even had to disable certain features in webgl2
>> simply by checking "if ANGLE, then no MSAA".
> I believe that the failIfMajorPerformanceCaveat should indicate those CPU
> paths doesn't it? I've started tracking this on WebGL stats at the end of
> december. So at the end of January there'll be a full 30-day window for
> that.

Is this reliable? And will it include every small thing, and how friendly
it is to end user to use, in order to query for those caveats?
Can we rely on vendors that they will report honestly about caveats?

Because it seems like this is not the case.

For example on Windows, where blit is implemented on CPU, currently
- does not show anything about it.
I bet ETC2 wouldn't be mentioned there either.

I strongly believe it is better not to ship feature at all if it will
perform worse than previous alternatives. Because this sends a positive
message "hey, feature is here for you", but then developers spend time
figuring out why it performs so badly, and then endup finding a ways to
know if this feature follows "slow path", and have to explicitly "ban" it
from using.
We already to this in PlayCanvas, and amount of time it takes to figure
this things out, is dramatically frustrating!

It is complicated and hard to track those issues, and they are implemented
in hidden way.
It shall be clear to end developer, if feature is there, it shall work and
perform reliable across the devices. Extensions - is a good way to follow,
it gives optional availability of the feature, and being an extension, it
is expected it to be not available on some platforms.

When users come back asking why their simple game works on some devices
great, and on some 5- fps, we wonder, and this is purely because something
hits CPU path, either the whole renderer, or part of it. Or even some
features like float32 textures, are actually not 32bits.
There must be way more string QA in place, to prevent those cases, as they
damage WebGL as a platform, for everybody, and this is not what we all
want. We are building business around this technology, and we want to be
reliable about dependencies - vendors and ANGLE (in particular), that they
do a good job and not following some dreams of webgl-utopia.

Kind Regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://khronos.org/pipermail/public_webgl_khronos.org/attachments/20170121/05c95b6b/attachment.html>

More information about the public_webgl mailing list