所以我知道这可能是一个长镜头,但也许有人可以提供帮助。
有什么方法可以异步复制缓冲区吗?可能通过某种方式使用blob?下面是一个类似于我正在寻找的东西的例子(显然不起作用,只是为了说明)。需要这个工作客户端。
var fromBuffer = new Uint8Array(1056); //just some random data
var bufferToCopyTo;
var req = new XMLHttpRequest();
req.open("GET", "fromBuffer", true);
req.responseType = "blob";
req.onload = function(e) {
bufferToCopyTo = req.response;
};
req.send();
//continue while buffer makes a copy in the background?
答案 0 :(得分:1)
有什么方法可以异步复制缓冲区吗?
不,在其他代码运行时无法复制缓冲区,否则可能存在访问/写入缓冲区元素的竞争条件。
如果复制花费了不正常的时间并且分块没有帮助,那么你可以做的是transfer缓冲区给后台工作者,在那里复制它,然后传输两者都回到主线程。这当然意味着在复制缓冲区时不能使用缓冲区。