[求助] Electron 中运行 Webassembly 疑问

2024-08-26 10:51:01 +08:00
 seanwhy
各位大佬,我之前把三维图形程序编译成 wasm ,能正常运行在浏览器上。但现在将它放在 electron 上调用,发现报错:Uncaught Error: The V8 platform used by this instance of Node does not support creating Workers 。
这个报错表明 node 目前环境不支持 workers 。我 C++写的程序,里面确实用到了大量线程,也就是使用了 pthread ,浏览器端对应的其实就是 webworkers 。
electron 里面的配置,比如:nodeIntegration: true,contextIsolation: false,也都设置了,均无什么用。
现在比较迷,到底要修改哪部分内容,是我的 wasm 程序的编译指令?还是我的 wasm 具体实现?还是 electron 内部的配置?或是 electron 内部的调用实现?
2993 次点击
所在节点    Electron
5 条回复
lisongeee
2024-08-26 10:58:13 +08:00
你可能需要展示 electron 版本或者给出复现仓库以便大伙更好排查问题
LuckyLauncher
2024-08-26 13:38:33 +08:00
electron 分 main 进程和 render 进行,首先你要搞清楚你的 wasm 跑在哪个进程上
LLaMA2
2024-08-26 15:03:04 +08:00
The V8 platform used by this instance of Node does not support creating Workers
看错误信息是运行环境和代码要求的环境不匹配扥等原因引起的.


费解的是你都用上了 electron, 为什么还要费劲上 wasm.

直接编译三维图形程序为适用于各平台的动态链接库, 然后调用就好啦.
wasm 性能损失,功能受限.何苦!
seanwhy
2024-08-26 15:23:01 +08:00
@LLaMA2 甲方还有网页端。。。还要支持国产操作系统,所以要一套吃遍
hhacker
2024-08-26 16:23:43 +08:00
虽然不知道 op 是怎么写导致的问题, 但是至少 electron 21 下是可以跑 wasm 的, 因为我就是在这下面用了 wasm

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1067773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX