[求助] Electron 中运行 Webassembly 疑问

23 天前
 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 内部的调用实现?
997 次点击
所在节点    Electron
5 条回复
lisongeee
23 天前
你可能需要展示 electron 版本或者给出复现仓库以便大伙更好排查问题
LuckyLauncher
23 天前
electron 分 main 进程和 render 进行,首先你要搞清楚你的 wasm 跑在哪个进程上
LLaMA2
23 天前
The V8 platform used by this instance of Node does not support creating Workers
看错误信息是运行环境和代码要求的环境不匹配扥等原因引起的.


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

直接编译三维图形程序为适用于各平台的动态链接库, 然后调用就好啦.
wasm 性能损失,功能受限.何苦!
seanwhy
23 天前
@LLaMA2 甲方还有网页端。。。还要支持国产操作系统,所以要一套吃遍
hhacker
23 天前
虽然不知道 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