schteppe / p2.js

JavaScript 2D physics library
Other
2.64k stars 330 forks source link

Increase range for single id in Tuple (from 16 to 32bits) #289

Open ghost opened 7 years ago

ghost commented 7 years ago

Now single id in Tuple can be in higher range (32 bits per id) thanks to ArrayBuffer

first we store each id in ArrayBuffer/DataView(8 bytes = js number) as uint32 at 0 byte and 4 byte second step is to get key by getting js number (8 bytes from whole buffer)

thats it! :D

the key thing, it is a bit slower when you do this 100 000 times at once:

https://jsfiddle.net/9zsrf0rx/

but if "tries" is set to 1000 its almost the same and sometimes a bit faster.

Maybe we can colaborate about this a bit to make it even better.