需求:绘制四张图片,可以对其中任意一张图片拖动。
实现:使用canvas2d中的drawImage函数绘图,使用bindtachmove监听手指移动变换对应坐标,然后render,render函数中遍历四张图片的信息,分别绘制。
问题:拖动图片时,严重卡顿,即使将render函数放在bindtachend中只调用一次,也能感觉到有一点卡。
思考:起初以为是图片onload时耗费了大量时间,后来提前把图片预先onload并存储下来,但没有作用,还是卡顿严重。以及要考虑图片的绘制顺序问题使用了promise,以为是这里导致的,就把promise取消了,也还是卡顿严重。
请问问题是出在哪里了?或者说要如何做才不会卡顿?(困扰几天了,非常感谢解答!)
canvas不用2d,touch 就没问题
小程序的canvas性能真的非常差,同样的图,同样的数量,使用web实现非常流畅,而使用小程序的canvas非常卡