小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 需求的场景描述(希望解决的问题)
目前在canvas组件中编辑图片(移动,放大,旋转),如果选择原图(3-4mb大小),在绘制过程中出现明显的卡顿现象,基本不能使用,选择压缩图则绘制流畅
- 希望提供的能力
提升小程序canvas组件性能
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
官方的常规操作就是,代码片段、然后。。。。。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
touchMove:
function
(e){
if
(e.type ===
'touchmove'
) {
that.data.testX += parseInt(e.deltaX)
that.data.testY += parseInt(e.deltaY)
that.data.ctx.drawImage(that.data.imgUrl, that.data.testX, that.data.testY, that.data.drawWidth, that.data.drawHeight)
that.data.ctx.draw(
false
)
}
},
就是手指触摸滑动重绘,选择原图就很卡基本用不了,我测试的图片是4mb的图片,使用缩略图就很流畅,这个应该是小程序canvas本身性能问题吧,h5 canvas就很流畅
@ 小辣椒 我还发现一个问题,当我选择原图时touchmove触发的时间间隔在200ms左右,选择缩略图时touchmove触发时间很短能保证60帧,这是否是一个bug?
能否给个完整的复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)?
链接:wechatide://minicode/aB416Smp7mBx,同样一张图片绘制压缩图和绘制原图的touchmove间隔差距明显
需要真机测试,我测试机是mix2s
嗯,同样的问题,放大移动会有卡顿
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
官方的常规操作就是,代码片段、然后。。。。。
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
touchMove:
function
(e){
if
(e.type ===
'touchmove'
) {
that.data.testX += parseInt(e.deltaX)
that.data.testY += parseInt(e.deltaY)
that.data.ctx.drawImage(that.data.imgUrl, that.data.testX, that.data.testY, that.data.drawWidth, that.data.drawHeight)
that.data.ctx.draw(
false
)
}
},
就是手指触摸滑动重绘,选择原图就很卡基本用不了,我测试的图片是4mb的图片,使用缩略图就很流畅,这个应该是小程序canvas本身性能问题吧,h5 canvas就很流畅
@ 小辣椒 我还发现一个问题,当我选择原图时touchmove触发的时间间隔在200ms左右,选择缩略图时touchmove触发时间很短能保证60帧,这是否是一个bug?
能否给个完整的复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)?
链接:wechatide://minicode/aB416Smp7mBx,同样一张图片绘制压缩图和绘制原图的touchmove间隔差距明显
需要真机测试,我测试机是mix2s
嗯,同样的问题,放大移动会有卡顿