Javascript 使用arraybuffers存储画布渲染数据

Javascript 使用arraybuffers存储画布渲染数据,javascript,canvas,arraybuffer,Javascript,Canvas,Arraybuffer,画布性能 最近我在canvas中创建了很多动画,因为canvas没有事件,所以你需要根据坐标创建自己的事件系统,简言之,你需要一个碰撞检测功能。由于大多数代码都很长,我重写了自己的代码,这样做我理解了它有多简单。所以我写了一些游戏代码 基本上,画布游戏有很多临时数字数组,在大多数情况下,0到64128或256之间的数字就足够了。可能会减少并用作乘法器 hitpoints=max*(number/256); 所以我想如果我将这些值存储到数组缓冲区? var array = new Float64

画布性能

最近我在canvas中创建了很多动画,因为canvas没有事件,所以你需要根据坐标创建自己的事件系统,简言之,你需要一个碰撞检测功能。由于大多数代码都很长,我重写了自己的代码,这样做我理解了它有多简单。所以我写了一些游戏代码

基本上,画布游戏有很多临时数字数组,在大多数情况下,0到64128或256之间的数字就足够了。可能会减少并用作乘法器

hitpoints=max*(number/256);
所以我想如果我将这些值存储到
数组缓冲区

var array = new Float64Array(8);
array[0] = 10;
//....
示例:(我就是这样做的……如果你知道一些更好的事情,请随时告诉我)

把所有东西都存储在缓冲区不是更好吗

我的想法(如果我错了,请纠正我):

arraybuffers
是二进制数据

它们应该更快对于渲染,它们应该更小 为了记忆

现在,如果这两种观点正确,我如何正确创建所述的数组结构,或者选择正确的数组类型?

var array = new Float64Array(8);
array[0] = 10;
//....

注意:在我的例子中,我使用的是二维数组。显然,我不想使用对象。

理论上,这也允许将整个游戏记录到一个数组中,该数组稍后保存为一个很小的二进制文件?!。这将是最好的张贴在nah。。与代码有多好无关。顺便说一句,这是一个数组。当你说一个
Uint8
就足够了时,你会使用
Float64
吗?你似乎很关心内存大小。你真的应该在那里使用对象。您已经有了一个不需要枚举的结构,它由非常不同的类型(字符串、日期、整数、浮点)组成。