设备:iPhone14 pro max ios版本:17.6.1 微信版本:8.0.52
复现流程:
打开小程序示例小程序(官方demo),打开实时人体检测页面,对着一个人体拍,手机会慢慢发热,几分钟后微信和小程序会直接一起崩溃掉。在手机本身就比较热的情况下测试,会在相机画面出现的几秒种内直接崩溃掉。
另外,在安卓低中端机器上也会遇到发热导致的性能问题,但是只是有卡顿,没有遇到过崩溃的现象。
希望负责这个模块的大佬能优化下性能,起码对于iPhone14promax来说过热崩溃接受不了啊。
代码:
参考小程序示例小程序(官方demo)的源码。类似于下面这样:
// 创建session
const session = this.session = wx.createVKSession({
track: {
plane: {
mode: 3
},
body: {
mode: 1
}
},
gl: this.gl,
version: 'v1',
});
// 开启
session.start();
// 逐帧渲染
const onFrame = now => {
const mill = now - last;
// 经过了足够的时间
if (mill >= fpsInterval) {
//校正当前时间
last = now;
const frame = session.getVKFrame(canvas.width, canvas.height)
if (frame) {
this.render(frame)
}
}
session.requestAnimationFrame(onFrame)
}
session.requestAnimationFrame(onFrame)
补充:
在iPhoneX 微信版本8.0.50 iOS版本16.7.10的机器也做了测试,持续了五分钟也没有崩溃,手机确实是在持续发热。
在iPhoneX机器上把微信版本更新到8.0.52后,机器发热的状况下仍然持续两分钟未闪退。由于我没有更多的测试机器,所以暂时只能怀疑ios版本17.6.1与iOS版本16.7.10的区别,导致的14promax闪退现象。
收到,方便的话提供下崩溃时间和微信号,我们这边查下日志确认下崩溃原因