【问题标题】:Best practice for self-resizing TypedArray?自我调整 TypedArray 的最佳实践?
【发布时间】:2015-10-01 06:16:58
【问题描述】:

我想使用类似于 C++ 的std::vector<float> 的Float32Array,我可以将项目推送到数组的末尾,当空间用完时它会自动调整大小。

我在 MDN 上注意到 ArrayBuffer 有一个 experimental transfer method 用于此目的,这似乎是一个不错的候选者。我还可以通过哪些其他方式实现自动调整大小的TypedArray?

【问题讨论】:

    标签: javascript typedarray


    【解决方案1】:

    搜索完全相同的请求,我找到了这个答案:

    TypedArrays 不是 Arrays 而是 ArrayBuffers,因此长度固定:你不能在它们上使用 push() :-( 。查看更多 here.

    显然,唯一的解决方案是暴力破解(参见here)。但是,如果您的意图是进行一些密集的操作(webGL、声音),您将不会喜欢这样。在各种 tutos 中,人们在绑定缓冲区(例如 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(this.vertexArray), gl.STATIC_DRAW); )时将其转换为 Float32Array,也许它还不错……但我同意这听起来不是最优的。

    【讨论】:

    • 我认为此时我只是在等待类似实验性的transfer 方法成为标准。
    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2016-06-28
    • 1970-01-01
    • 2010-10-01
    相关资源
    最近更新 更多