![]() |
1
1
这是一个有点做作的例子,因此很难帮助您针对具体要做的事情进行优化,但一个容易被忽略且可修复的慢路径是将数据复制到web worker。如果可能的话,您可以使用ArrayBuffers和SharedArrayBuffers在web工作人员之间快速传输数据。 您可以使用postMessage函数的第二个参数将arrayBuffer的所有权转移给web工作者。需要注意的是,在主线程传输缓冲区之前,该缓冲区将不再可用 返回 mdn for more details ) 例如
运行约10000毫秒。这只是为了传输消息中的数据,而不是运行工作逻辑本身。 here 和可转移类型 here . 需要注意的是,您的示例进行时间比较的方式也包括web worker创建时间,但希望这能更好地了解大量时间的去向以及如何更好地利用这些时间。 |
![]() |
2
0
你在两人之间做了很多工作
最好先创建线程,然后继续处理数据。它可能不会更快,但不会锁定您的UI。
例如
|
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |