ios主线程没有jit,worker可以开,但是把数据用postMessage传递给worker需要序列化数据。基本上ios的体验很拉跨,很难优化
iOS端worker性能如何提升,iOS端主线程使用wasm报错如何解决?问题1: 我的小程序是一个视频帧实时处理的小程序,图像处理算法已打包成wasm,由于算法耗时较长,所以放在了worker中执行,在PC端iOS模拟器和Android真机上都运行正常,但是在iPhone真机下整个小程序都特别的卡,主界面上的按钮响应都非常的慢。相关信息如下: 实验数据已经打开: useExperimentalWorker: true iPhone 11 Pro iOS18.0 WeChat8.0.53 问题2: 因为问题1迟迟未能解决,所以想当小程序处于iOS环境下,就在主线程中直接加载并实例化wasm模块,但完全一样的js胶水代码和wasm.br文件,还是在PC端iOS模拟器和Android真机上都运行正常,在iPhone真机上却无法正常进行实例化,这是因为js胶水代码修改的问题,还是什么其它问题呢? 我写了一个示例的代码片段来复现这个问题: https://developers.weixin.qq.com/s/B6NDtNmW7JVJ 具体报错如下: abort(Aborted(Assertion failed: JavaScript-side Wasm function table mirror is out of date!)). Build with -s ASSERTIONS=1 for more info. {type: "string", description: "abort(Aborted(Assertion failed: JavaScript-side Wasm function table mirror is out of date!)). Build with -s ASSERTIONS=1 for more info.", value: "abort(Aborted(Assertion failed: JavaScript-side Wasm function table mirror is out of date!)). Build with -s ASSERTIONS=1 for more info."} [图片]
星期五 12:062024年了,微信小程序的worker传递数据还是要复制,简直是鸡肋
WXWebAssembly在IOS中运行性能特别差,是微信内核运行wasm性能太差吗?// ptr 是需要图像数据 let start = Date.now() MarkAR_Module._track(ptr,frameW,frameH,) console.log('time:', Date.now() - start) 其中track就是跑WebAssembly跟踪方法,同样的代码,在安卓耗时约10ms,IOS需要100多ms。是IOS有什么高性能限制? 还是IOS版微信内核跑高计算量的wasm模块就有问题?
11-15