[求助] Electron 中运行 Webassembly 疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seanwhy
V2EX    Electron

[求助] Electron 中运行 Webassembly 疑问

  •  
  •   seanwhy 2024-08-26 10:51:01 +08:00 3116 次点击
    这是一个创建于 410 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位大佬,我之前把三维图形程序编译成 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 内部的调用实现?
    第 1 条附言    2024-08-26 15:24:08 +08:00
    目前看来受 Electron 的 contextIsolation 影响很大,上下文还是要必须隔离,这样子 wasm 运行就不受影响了
    5 条回复    2024-08-26 16:23:43 +08:00
    lisongeee
        1
    lisongeee  
       2024-08-26 10:58:13 +08:00
    你可能需要展示 electron 版本或者给出复现仓库以便大伙更好排查问题
    LuckyLauncher
        2
    LuckyLauncher  
       2024-08-26 13:38:33 +08:00   1
    electron 分 main 进程和 render 进行,首先你要搞清楚你的 wasm 跑在哪个进程上
    LLaMA2
        3
    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
        4
    seanwhy  
    OP
       2024-08-26 15:23:01 +08:00
    @LLaMA2 甲方还有网页端。。。还要支持国产操作系统,所以要一套吃遍
    hhacker
        5
    hhacker  
       2024-08-26 16:23:43 +08:00
    虽然不知道 op 是怎么写导致的问题, 但是至少 electron 21 下是可以跑 wasm 的, 因为我就是在这下面用了 wasm
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3630 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 00:05 PVG 08:05 LAX 17:05 JFK 20:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86