javascript - webassembly 加载时间过长
问题描述
我正在使用.wasm
格式的人脸检测模型。我正在用 JavaScript 阅读和执行它。一切正常。但是使用数组缓冲区输出完成该WebAssembly.instantiate()
方法需要太多时间。
该wasm
文件大小为 8.6MB,加载文件后需要 3 秒才能完成执行。
应用程序加载时间因此而延迟。有什么办法可以减小.wasm
文件大小或提高文件执行时间?
任何帮助表示赞赏。
解决方案
WebAssembly.instantiate()
不是官方推荐的方式。
使用较新的WebAssembly.instantiateStreaming()
. 这将更有效地加载 wasm 文件。请注意,您应该使用fetch()
ArrayBuffer 之外的响应对象来加载 wasm 文件。
此外,8.6MB 对于一个 wasm 文件来说是相当大的。所以你可能仍然觉得加载有点慢。您是否使用优化标志编译了项目?
推荐阅读
- angular - Angular build SyntaxError:无效的正则表达式组
- json - spring Rest json 响应格式
- networkx - 在networkx中生成固定度数的Small World网络
- openlayers - 如何使用 openlayers 在地图上显示路径?
- java - Ajax 调用正常,但表单提交仍在等待
- excel - 输入20个元素为一个
- python - Python:一维和二维数组之间的比较,询问两个数组在哪里有非零条目
- r - 并在 R 中登录 & in shell 命令
- python - 将抓取的 HTML 表转换为 Pandas 数据框
- javascript - 如何将动态生成的代码导入 webworker 以便在调试器中访问