代码片段:

wechatide://minicode/ROIdcdmz712p


代码片段中 canvas 绘制开发工具下可一直保持流畅(我运行了 5-6 分钟),同样的代码在 web(微信小程序浏览器)流畅运行。

小程序真机下,大概 10 秒就会降到 30 fps,然后大概1分钟不到就会降到 1-2 fps。


虽说可以通过 canvasToTempFilePath 保存已经绘制的内容再重绘图片来降低卡顿,但是操作起来会很麻烦,而且可能会造成绘制丢失

所以想了解下这是什么问题,有没有更好的解决方法?

另外有个小疑惑,原生 canvas 为什么比 web 要卡,用原生 canvas 实现有什么意义?


Thanks for your time!

展开全部
收起
7回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Bellrrrrr

    10人对此回答表示赞同

    你这个是要越画越快,越来越频繁吗?

    展开
    10
    10回复
    发布于 6年前

    评论(10)

    收起评论

    • 遥不可及 2019-03-15 17:35

      谢谢,知道小游戏性能好点,但是我们公司做的是小程序,而且我们公司是教育产品,总感觉怪怪的,也算是一种解决方案,只不过我们程序改小游戏就要重构了。

      回复
    • Aubree 2019-03-18 00:36

      谢谢

      回复
    • 我爱Grace大姐姐 2019-03-19 20:34

      你看上个这个人。。他回的我。。你看不到提示。。所以我回下你

      回复
    • Yuan0 2019-03-21 23:26

      这个我写过,性能确实不行,我在想是不是因为注册的是小程序而不是小游戏。小程序的性能低,小游戏的性能是不是高一些?你可以试试

      回复
    • Carlos 2019-03-23 19:24

      。。。笑死。。简直绝望

      回复
    • Skye 2019-03-25 23:51

      刚刚试了webview相同的代码不会卡,稳定60fps,直接webview也算是个简单的办法

      回复
    • Danny 2019-03-28 00:54

      话说。。你在小程序里直接用webview的页面画,会卡吗?

      回复
    • xlxl心累 2019-03-29 11:54

      书写笔记还原,因为是文字,坐标点比较多,写满完一页大搞1-2w左右个点,要求按照书写时间播放出来

      回复
    • Ayden 2019-03-31 12:18

      5ms。。挺短的。。不过50ms才绘制也还好。。你实际场景是画的啥啊

      回复
    • Charlotte 2019-04-02 10:38

      不是,你看下代码就知道了,每个5ms画一条线,画10条线后,draw(true)一次,只是用来模拟大量绘制的,与绘制方法无关

      回复
  • ori旭

    10人对此回答表示赞同

    可以考虑下在服务端生成图片啊

    展开
    10
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • Mia米娅 2019-03-09 16:28

      只要图片的话客户端就可以,问题是我们需要增加音频以模拟视频来还原书写过程

      回复
  • Gabriel-郑

    9人对此回答表示赞同

    小程序封装的canvas绘图api确实会有不小的问题。

    展开
    9
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 飞翔的企鹅 2019-03-08 01:00

      谢谢分析,大致和我猜测差不多,不知道有没有说明过关于canvas这部分的原理?

      回复
  • Arianna

    9人对此回答表示赞同

    确实会有这个问题,我也碰到过

    展开
    9
    3回复
    发布于 6年前

    评论(3)

    收起评论

    • 偷生者 2019-03-05 16:35

      兄弟,你的小程序似乎没有考虑到授权拒绝的情景,比如,现在一直提示卡片生成中,请稍后。。。

      回复
    • Janaya 2019-03-07 11:11

      那就只能希望尽快改进吧…

      回复
    • 兵荒马乱 2019-03-09 10:35

      谢谢,场景不同,我是要还原书写笔迹,必须要用canvas贝塞尔曲线画出数据记录的坐标点,这需要不断得向canvas绘制贝赛尔曲线,并非导出图片问题。

      回复
  • 亚当思密达

    7人对此回答表示赞同

    怎么访问wechatide://minicode/ROIdcdmz712p这个

    展开
    7
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • Keyanna Lee 2019-03-17 23:54

      这是代码片段,开发工具-项目-导入代码片段,复制连接进去,最好填上APPID可以小程序真机预览

      回复
  • 百越

    7人对此回答表示赞同

    欢迎体验,也使用了canva绘图,还行不是特卡顿,吐槽吧

    展开
    7
    4回复
    发布于 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(),每次都重绘全部,反而不卡。

    展开
    2
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • Michael 2019-03-13 16:47

      谢谢,这个我知道,但是我的场景每次都要重绘多次贝塞尔,而且会越来越多,最后每次重绘可能要到上万次,不可行。

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部