var key = String.fromCharCode(99, 52, 98, 56, 101, 57, 98, 48, 51, 48, 50, 97, 48, 49, 102, 101, 54, 98, 97, 99, 49, 54, 101, 50, 54, 53, 101, 51, 49, 48, 55, 55);
worker下如何修改wasm胶水代码?我在小程序的page中已经通过修改胶水代码成功引入了自己编译的wasm,并可以正常调用。 但因wasm中的算法比较耗时,为避免影响主线程的界面响应,想在worker中使用wasm。由于微信小程序中的worker在使用方面有些限制,所以不知道该如何改写wasm的胶水代码。目前碰到以下问题: 问题1: [图片] 修改对应代码,注释掉带self.location的这句: else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { // scriptDirectory = self.location.href } else if (typeof document != "undefined" && document.currentScript) { scriptDirectory = document.currentScript.src } if (_scriptDir) { scriptDirectory = _scriptDir } if (scriptDirectory.indexOf("blob:") !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1) } else { scriptDirectory = "" } 然后出现问题2: [图片] 网上很难找到比较有效的信息,在page中使用wasm修改胶水代码时已经费了很大功夫,现在转到worker中又要折腾一遍,貌似相关资料还更少了,官方能不能出一些修改胶水代码的教程指导一下呢?
07-26加载的问题我解决了,然后还有线程、内坑的坑,无语
Emscripten 生成的 WASM文件在Android和iOS端运行速度不一样?将c++用Emscripten 编译成wasm在微信小程序中使用,主要是用camera组件将相机流的帧数传给wasm里面,进行二维码解码,矫正等操作,解码是用的微信开源给opencv的wechat-qrcode,在Android上解码速度在几百毫秒就解码出来了,但是在iOS上最快也要一秒多,在iPhone7上面更慢要10秒才能解码,解码速度太慢会导致扫码的体验感极其的差.所以这块导致的原因有什么,路过的官方或者大佬们有什么思路提高一下下的吗.
07-25var jspb = require('google-protobuf'); 神马情况 页面【pages/scan/scan]错误: Error: module 'pages/scan/google-protobuf.js' is not defined, require args is 'google-protobuf'
引入模块module 'xxx.js' is not defined, require args?VM643:11 页面【pages/receiveOrder/detail/index]错误: Error: module 'apis.js' is not defined, require args is '../../../apis' at V (WASubContext.js?t=wechat&s=1694148860099&v=3.0.0:1) at n (WASubContext.js?t=wechat&s=1694148860099&v=3.0.0:1) at index.ts:1 at WASubContext.js?t=wechat&s=1694148860099&v=3.0.0:1 at d.runWith (WASubContext.js?t=wechat&s=1694148860099&v=3.0.0:1) at V (WASubContext.js?t=wechat&s=1694148860099&v=3.0.0:1) at <anonymous>:8:5 at evaluateRes (VM14 asdebug.js:1) at VM14 asdebug.js:1 at Object.invoke (VM14 asdebug.js:1)(env: macOS,mp,1.06.2307260; lib: 3.0.0) [图片][图片][图片] 这是为什么呢,引入的路径没有问题的
07-15var ENVIRONMENT_IS_WEB = typeof window == "object"; var ENVIRONMENT_IS_WORKER = typeof importScripts == "function"; var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string"; var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; 小程序内使用是否只能用worker
worker如何使用webassembly胶水js?我用Emscripten把c函数编译生成hello.js和hello.wasm两个文件,可以在page/index.js里面require使用,但是在worker中使用就会遇到问题: 官网文档中说worker不能加载其目录以外的文件,实测也的确如此: const hello_debug=require('../pages/index/hello.js') 报错: thirdScriptError worker uncaught third Error module "pages/index/hello.js" is not defined Error: module "pages/index/hello.js" is not defined 同时: "在 Worker 内使用 WXWebAssembly 时,.wasm 文件需要放置在 worker 目录外,因为 worker 目录只会打包 .js 文件,非 .js 文件会被忽略" 我将胶水js放在worker目录下,wasm文件放在pages下, const hello_debug=require('./hello.js') 报错: thirdScriptError worker uncaught third Error module "pages/index/hello.js" is not defined Error: module "pages/index/hello.js" is not defined 请问该如何在worker中加载webassembly的胶水js文件呢?这个报错原因是啥呢,谢谢!
07-08