[Public WebGL] WebGL2 and no mapBuffer/mapBufferRange

Zhenyao Mo [email protected]
Mon Mar 16 11:20:26 PDT 2015

The efficient use cases that I see is: you map with INVALID* bit, so
you just get a pointer you can write to.  This saves you the extra
copying between CPU memory (js array) to vram, comparing with
bufferSubData. Unfortunately that benefit is no longer there for
non-in-process WebGL implementations.

Unless there is a way to map a vram pointer to other processes on all platforms.

On Mon, Mar 16, 2015 at 11:11 AM, Florian Bösch <[email protected]> wrote:
> Even on native platforms mapBuffer[Range] isn't more efficient than
> bufferSubData. Instead of blocking on the buffer[Sub]Data call, it just
> blocks on the memcpy. If you set the asynchronous flag, it won't block, but
> it'll still block on unmap and/or flush, which isn't more efficient than
> buffer[Sub]Data. The only case where mapBuffer[Range] is faster is if you're
> doing asynchronous ping-poned doubled buffered updates and issue no other
> blocking command to the driver. Desktop GL has more options, but ES 3 does
> not.
> On Mon, Mar 16, 2015 at 7:07 PM, Zhenyao Mo <[email protected]> wrote:
>> Oh I failed to type the keyword "efficiently".  My bad.
>> On Mon, Mar 16, 2015 at 10:55 AM, Florian Bösch <[email protected]> wrote:
>> > On Mon, Mar 16, 2015 at 6:03 PM, Zhenyao Mo <[email protected]> wrote:
>> >>
>> >> If it comes to a vote, I will vote "no" for introducing something to
>> >> the core APIs that intrinsically cannot be implemented on
>> >> non-in-process WebGL implementations.
>> >
>> > What exactly isn't implementable about it?

You are currently subscribed to [email protected]
To unsubscribe, send an email to [email protected] with
the following command in the body of your email:
unsubscribe public_webgl

More information about the public_webgl mailing list