谷歌之前使用的是Native Client(NaCl)技术,仅限于谷歌Chrome。该公司现在已经添加了对WebAssembly的支持,它将支持所有基于Chromium的浏览器。但是,只有Chrome支持WebAssembly多线程,这意味着Google和其他浏览器之间存在性能差异。好消息是,基于Chromium的Edge浏览器确实支持WebGL,因此与经典Edge和其他浏览器相比,新款Edge的性能会更好。
基于Chromium的浏览器-包括Chrome,即将推出的Edge和Opera都支持WebAssembly。一旦基于Chromium的新版Edge浏览器发布,WebAssembly中的应用程序在Edge中的工作方式将与在Chrome中的应用程序一样。Firefox为WebAssembly提供了很好的支持,但由于SharedArrayBuffer问题,不得不禁用对多线程的支持。虽然Opera基于Chromium,但当前版本的Opera仅提供WebAssembly的单线程支持。Safari具有强大的WebAssembly实现,但它缺乏对WebGL2的完全支持。
-谷歌
另一方面,Mozilla正致力于提供多线程支持。Mozilla、Google和其他删除了SharedArrayBuffer,以防止用户遇到Specter和Meltdown漏洞。谷歌为Chrome提供了站点隔离支持,以防止Spectre和Meltdown,并在此过程中启用SharedArrayBuffer。Firefox目前没有站点隔离,因此无法运行SharedArrayBuffer。但是,Mozilla正在努力为站点隔离提供支持,这应该允许它们启用SharedArrayBuffer并支持WebAssembly的多线程。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。