[微信小程序]canvas重绘卡顿 [你想说什么?]

小程序真机上面不支持requestAnimationFrame,但是可以在微信开发者工具上面运行requestAnimationFrame,没办法就改成

setTimeout去绘制canvas,但是绘制几次后就会严重掉帧...有没有什么其它好的解决方案或者建议啊...实在是没办法定位到问题

  • 分固定的画图 + 动态的画图。 先画固定的画图,画完保存为临时图片文件(wx.canvasToTempFilePath),然后定时器里 画的时候先把前面保存的图片贴上去(CanvasContext.drawImage), 再画动态的部分。 , 看到有趣的图片要和小伙伴分享哦。
  • CanvasContext.draw(boolean reserve, function callback) 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 参数 boolean reserve 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 研究了半响其实是 draw 这玩意导致的卡顿 , 说的貌似很有深意,你能一条一条说么?
  • 我引入好几张图片放入画布,真机运行也卡顿得很,ios 12.1, 幸灾乐祸的笑啊笑