在初始化TensorFlow插件时,框架代码在获取离屏canvas的上下文时,配置了failIfMajorPerformanceCaveat为true,导致获取不到上下文。
在微信开发者工具的控制台中测试将failIfMajorPerformanceCaveat置为true时获取canvas上下文,结果返回null;在chrome浏览器中使用相同代码测试获取canvas上下文,可以正常返回。
该配置项意为“在一个系统性能低的环境是否创建该上下文的布尔值”。当前解决方法是在初始化之前先将该配置项置为false获取一次上下文,再传入plugin.configPlugin函数中进行初始化配置。建议将该配置项开放为用户可配置而非框架代码中的默认配置。
补充问题出现的流程:
1、新建一个小程序的项目;
2、使用npm初始化该项目,并执行npm install @tensorflow/tfjs-core @tensorflow/tfjs-converter @tensorflow/tfjs-backend-webgl fetch-wechat crypto-js安装依赖包;
3、执行构建npm;
4、在app.json中使用插件;
"plugins": {
"tfjsPlugin": {
"version": "0.2.0",
"provider": "wx6afed118d9e81df9"
}
}
5、在app.js中引入并初始化插件;
var fetchWechat = require('fetch-wechat');
var tf = require('@tensorflow/tfjs-core');
var webgl = require('@tensorflow/tfjs-backend-webgl');
var plugin = requirePlugin('tfjsPlugin');
App({
onLaunch() {
// let canvas = wx.createOffscreenCanvas();
// canvas.getContext("webgl");
plugin.configPlugin({
// polyfill fetch function
fetchFunc: fetchWechat.fetchFunc(),
// inject tfjs runtime
tf,
// inject webgl backend
webgl,
// provide webgl canvas
canvas: wx.createOffscreenCanvas()
});
}
})
6、编译运行项目,控制台报错;
补充复现问题的简单代码片段链接:https://developers.weixin.qq.com/s/l5CYrqmc71wE

请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。