2160关注7340浏览
代码片段:
wechatide://minicode/ROIdcdmz712p
代码片段中 canvas 绘制开发工具下可一直保持流畅(我运行了 5-6 分钟),同样的代码在 web(微信小程序浏览器)流畅运行。
小程序真机下,大概 10 秒就会降到 30 fps,然后大概1分钟不到就会降到 1-2 fps。
虽说可以通过 canvasToTempFilePath 保存已经绘制的内容再重绘图片来降低卡顿,但是操作起来会很麻烦,而且可能会造成绘制丢失
所以想了解下这是什么问题,有没有更好的解决方法?
另外有个小疑惑,原生 canvas 为什么比 web 要卡,用原生 canvas 实现有什么意义?
Thanks for your time!
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Bellrrrrr
10人对此回答表示赞同
你这个是要越画越快,越来越频繁吗?
展开1010回复分享发布于 6年前评论(10)
收起评论
-
ori旭
10人对此回答表示赞同
可以考虑下在服务端生成图片啊
展开101回复分享发布于 6年前评论(1)
收起评论
-
Mia米娅 2019-03-09 16:28
只要图片的话客户端就可以,问题是我们需要增加音频以模拟视频来还原书写过程
回复
-
-
Gabriel-郑
9人对此回答表示赞同
小程序封装的canvas绘图api确实会有不小的问题。
展开91回复分享发布于 6年前评论(1)
收起评论
-
飞翔的企鹅 2019-03-08 01:00
谢谢分析,大致和我猜测差不多,不知道有没有说明过关于canvas这部分的原理?
回复
-
-
Arianna
9人对此回答表示赞同
确实会有这个问题,我也碰到过
展开93回复分享发布于 6年前评论(3)
收起评论
-
偷生者 2019-03-05 16:35
兄弟,你的小程序似乎没有考虑到授权拒绝的情景,比如,现在一直提示卡片生成中,请稍后。。。
回复 -
Janaya 2019-03-07 11:11
那就只能希望尽快改进吧…
回复 -
兵荒马乱 2019-03-09 10:35
谢谢,场景不同,我是要还原书写笔迹,必须要用canvas贝塞尔曲线画出数据记录的坐标点,这需要不断得向canvas绘制贝赛尔曲线,并非导出图片问题。
回复
-
-
亚当思密达
7人对此回答表示赞同
怎么访问wechatide://minicode/ROIdcdmz712p这个
展开71回复分享发布于 6年前评论(1)
收起评论
-
Keyanna Lee 2019-03-17 23:54
这是代码片段,开发工具-项目-导入代码片段,复制连接进去,最好填上APPID可以小程序真机预览
回复
-
-
百越
7人对此回答表示赞同
欢迎体验,也使用了canva绘图,还行不是特卡顿,吐槽吧
展开74回复分享发布于 6年前评论(4)
收起评论
-
伦敦警察 2019-03-12 00:06
h5不会卡
回复 -
Maverick 2019-03-13 23:57
你用h5绘制时候会卡顿么?
回复 -
羊来了 2019-03-15 23:26
绘制分享图那块有
回复 -
Lucas 2019-03-18 00:23
谢谢,哭,完全看不出来哪里有canvas。
回复
-
-
相亲相爱
2人对此回答表示赞同
之前试过draw(true),性能很差。后面改成draw(),每次都重绘全部,反而不卡。
展开21回复分享发布于 6年前评论(1)
收起评论
-
Michael 2019-03-13 16:47
谢谢,这个我知道,但是我的场景每次都要重绘多次贝塞尔,而且会越来越多,最后每次重绘可能要到上万次,不可行。
回复
-
谢谢,知道小游戏性能好点,但是我们公司做的是小程序,而且我们公司是教育产品,总感觉怪怪的,也算是一种解决方案,只不过我们程序改小游戏就要重构了。
谢谢
你看上个这个人。。他回的我。。你看不到提示。。所以我回下你
这个我写过,性能确实不行,我在想是不是因为注册的是小程序而不是小游戏。小程序的性能低,小游戏的性能是不是高一些?你可以试试
。。。笑死。。简直绝望
刚刚试了webview相同的代码不会卡,稳定60fps,直接webview也算是个简单的办法
话说。。你在小程序里直接用webview的页面画,会卡吗?
书写笔记还原,因为是文字,坐标点比较多,写满完一页大搞1-2w左右个点,要求按照书写时间播放出来
5ms。。挺短的。。不过50ms才绘制也还好。。你实际场景是画的啥啊
不是,你看下代码就知道了,每个5ms画一条线,画10条线后,draw(true)一次,只是用来模拟大量绘制的,与绘制方法无关