网络工作者--firefox与chromium的比较(Chrome和MS Edge)。

问题描述 投票:0回答:1

我正在开发一个 分形探索者 在浏览器中仍处于测试阶段.总的想法是提供一个尽可能流畅的导航.当然,我使用的是在浏览器中。网工库 并将每个图像分割成n个小块,其中n是可用的cpu数量(navigator.hardwareConcurrency它在基于chromium的导航器上工作得很好(即Chrome和MS edge,两者的性能大致相同)。在Safari浏览器上也可以。

在Firefox上就很糟糕了!

bench chart

平均时间计算在Firefox上竟然大约是x8,我电脑上的CPU和工人数量。所以我怀疑Firefox是同时运行工作者,而不是并行运行,但这个假设应该是错误的,因为平均时间的计算是随着活跃工作者的数量按比例减少的,如图所示。

所以.... 有谁能解释一下吗?

谢谢 :)

一个奇怪的黑客解决方案

为了简化我的发布代码(再次感谢@Kaiido),我找到了一个解决方案......好吧,不是真正的解决方案,我们可以说它更像是一个黑客。

添加 任何地方 在工人的消息处理程序中,一个空白的 try {} catch {} 阻止Firefox的性能相当于(有时甚至比Chrome更好)。

代码是 此处

解释 ?

performance google-chrome firefox web-worker
1个回答
0
投票

火狐浏览器中的一个错误与他们的优化器。我打开了 课题 到他们的bug跟踪器,现在已经在最新的Nightly (79.0a1 (2020-06-04))中修复了。

© www.soinside.com 2019 - 2024. All rights reserved.