gpt4 book ai didi

JavaScript:Web Worker 和类型化数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:47 25 4
gpt4 key购买 nike

我有一个 web worker(从 new Worker() 开始)做一些处理并且应该返回一个 Float32Array
然而,似乎在工作人员 postMessage() 数据之后,它经过序列化和反序列化到 JSON,而我在收到消息时最终得到的是一个普通的 javascript Array(具有原始类型化数组的所有属性)

一个简单的解决方法是从 javascript 数组重新创建类型化数组,但这很浪费,而且会占用时间和内存。

有更好的方法吗?某种方式告诉 JSON 反序列化实例化 Float32Array 而不是 javascript 数组?或者以其他方式传输二进制数据的方法?

最佳答案

所有支持 worker 的浏览器(IE10 除外)都支持所谓的可传输对象,这意味着如果您有一个数组缓冲区(即获取类型化数组的 .buffer 属性),您可以将列表作为 postMessage 的第二个参数要转移所有权的数组缓冲区。这比复制它要快得多。

关于JavaScript:Web Worker 和类型化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com