相关疑难解决方法(0)

Web Worker的消息有多快?

我想知道传入或传出Web工作者是否会成为瓶颈.我们应该在触发任何类型的事件时发布消息,还是应该注意并尽可能地限制两者之间的通信?

我们有一个例子.如果我有一个动态构造的巨大数组(例如来自mousemovetouchmove用于手势识别器的接触点阵列),迭代传输数据是否更有效 - 即我们收到它后立即发送每个元素并让工人将它们存储在一边 - 或者最好将它们存储在主线程上并在最后一次发送所有数据,特别是当一个人不能使用可转移对象时?

javascript web-worker

13
推荐指数
1
解决办法
2388
查看次数

将JS对象转换为ArrayBuffer以转移到Web worker或从Web worker转移等于瓶颈

我有一个Web工作者,它不断计算大量的数据,当完成一个回合是一个js对象,然后我解析到ArrayBuffer,然后将其发送到主线程.

无法做很多关于计算和ArrayBuffer的传输很快.但是,解析此对象会降低该过程的速度.由于对象本身包含更多对象的数组.

在Firefox中,我收到以下警告:

A script on this page may be busy, or it may have stopped responding.
You can stop the script now, open the script in the debugger,
or let the script continue.

Script: http://localhost/js/util/DataViewSerializer.js:435
Run Code Online (Sandbox Code Playgroud)

第435行指的是我序列化数组的函数.该行是声明for循环的地方.

DataViewSerializer.prototype.setArray = function (array, serializer) {
    var i,
        l = JSUtil.hasValue(array) ? array.length : 0;

    this.setUint32(l);

    console.log(array, serializer);
    for (i = 0; i < l; i += 1) {
        if (serializer !== undefined) {
            serializer.serializeTo(array[i], this);
        } else {
            array[i].serializeTo(this);
        }
    }
}; …
Run Code Online (Sandbox Code Playgroud)

javascript multithreading web-worker

6
推荐指数
1
解决办法
3663
查看次数

标签 统计

javascript ×2

web-worker ×2

multithreading ×1