在大型 JSON 对象上使用 worker.postMessage 时,HTML 5 Web 工作者非常慢。我试图弄清楚如何将 JSON 对象传输到网络工作者 - 使用 Chrome 中的“可传输对象”类型,以提高速度。
这就是我所指的,它似乎应该加快速度:http: //updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast
我很难找到一个很好的例子(而且我不相信我想使用 ArrayBuffer)。任何帮助,将不胜感激。
我在想象这样的事情:
worker = new Worker('workers.js');
var large_json = {};
for(var i = 0; i < 20000; ++i){
large_json[i] = i;
large_json["test" + i] = "string";
};
//How to make this call to use Transfer Objects? Takes approx 2 seconds to serialize this for me currently.
worker.webkitPostMessage(large_json);