4 回复
之前也碰到canvas绘制久了就越来越卡顿的问题,这个应该是微信原生canvas的bug,使用webview来处理的话,跑多久都不会变慢。
你使用下面这个代码来清除画布,可以把速度还原,但如果绘制久了,还是一样会再次变慢。
wx.drawCanvas({
canvasId: ‘canvasId’,
actions: [],
reserve: false
})
https://developers.weixin.qq.com/s/Krp10nmn7H3k主要优化两点1. 使用 requestAnimationFrame 进行帧绘制,能保证在绘制耗时比较大的情况下自动降帧而不丢帧。即使是使用 setTimeout 也尽量不要使用 setInterval,setInterval 会在计时器触发时直接执行,而这时上一帧的绘制过程可能因为某些原因还未完毕。
- storke, clear, draw 的过程尽量在每一帧绘制时一次性执行。