收藏
回答

话题 全部话题

#微信公开课#你是如何解决和优化小游戏的性能问题呢?这里干货满满!(内有录播视频)

《微信小游戏开发者学院》开讲啦!

你是否经常接到用户反馈你的小游戏有体验问题?

你是否知道如何评估小游戏性能?

你是否想优化自己的小游戏性能?


以上三个问题是否已经困扰你很久了


《微信小游戏开发者学院》第二讲-“小游戏性能评测与优化方案”的微信公开课讲师为吕西亚,围绕小游戏性能问题开启一段优化之旅,并首次揭秘小游戏性能评测标准,案例实践齐上阵帮你答疑解惑。


在评论区留下你对测评优化小游戏性能方面的认识和疑问,或者留下你在这过程中难忘的经历吧。

下方是公开课的回放视频:


话题优秀回答者将获得微信正版周边礼品一份,快来参加吧!

  

*图片仅供参考,实际奖品选择与发放将视官方周边更新与存货情况进行适当调整

*获奖情况将在「社区每周」公告中进行公示

ps:获奖者不要忘记回复社区工作人员私信啦,一定要多回社区看看自己的评论有没有获奖(精选)哦!!


写回答关注话题邀请回答

7 个回答

  • 猫先生
    猫先生
    精选2020-07-02

    对小游戏性能问题进行定位和解决离不开三个阶段:诊断--评判--解决。

    

    “诊断过程”需要各种工具查看各类性能指标。常用的几款工具分别是PerfDog,微信开发者工具和Chrome Devtools,另外小游戏官方推出了小游戏云测试功能,对获取性能数据帮助非常大,再也不用纠结怎么测那么多指标了。

    “评判过程”需要将获得各类指标与标准进行对比,来查看性能是否有问题。小游戏官方推出了一套全面的性能评测标准。全面标准见链接,普世标准如下图

    解决过程”就是针对存在的性能问题采用一些解决方案了。

    比如有启动性能问题,可以“精简代码包”、“分包加载”、“引擎插件”和“不依赖引擎尽快渲染”。

    内存性能问题,可以“动态加载、动态释放、使用对象池、纹理压缩和适当的资源降级,以及根据设备采用不同质量的资源”等多种方式。

    CPU的问题就是首先根据javascript profile找到占用CPU很高的热点函数,专门优化这个函数;另外还有减少Drawcall;使用worker多线程,优化算法和游戏逻辑等等;甚至还可以直接使用GPU粒子和GPU资源等,减少渲染时CPU的步骤

    GPU问题减少资源的复杂度(比如降低资源顶点数量和三角面数,减少各种复杂的shader),还可以使用纹理压缩。


    写了这么多,有没有一个小礼品可以拿!!!

    2020-07-02
    赞同 4
    回复
  • 异名
    异名
    2020-07-02

    异名这两天在版本的间隙刚好针对性能做了一次优化,记录的边幅有点长就不帖子下回复了,文章链接👇,有错误的地方请指出

    https://developers.weixin.qq.com/community/minigame/article/doc/0000068e30409896719aa88795a413

    2020-07-02
    赞同 3
    回复
  • 🦁
    🦁
    2020-07-03

    @微信官方

    可以提供视频中运用 worker 进行物理模拟测试的示例吗?

    2020-07-03
    赞同 2
    回复 1
  • 2020-07-09

    unity开发的游戏,怎么转成微信小游戏呢?是否有大牛解答下?

    2020-07-09
    赞同
    回复
  • 嘉颜
    嘉颜
    发表于移动端
    2020-07-07
    苏第一个打个电话v的炎帝广场的还是记得给高速上好的话月好团哦哦狗狗VSv杨贵妃
    2020-07-07
    赞同
    回复
  • Admin ²º²⁴
    Admin ²º²⁴
    2020-07-06

    刚接触小程序开发。结合以前windows桌面开发,我上周刚好优化了一个很小的小程序性能。

    总结如下:

    1、多线程优化:

    每个线程做好线程安全和线程池管理。这个在前端貌似不叫线程,叫worker,刚开始自以为是的以为worker就是桌面开发里面的线程,其实区别还是蛮大的。这个是性能优化关键

    2、服务端资源的加载优化:

    包括设置各种图片,视频资源的cache-control,和利用cdn提示加载速度。

    3、代码逻辑的优化:

    功能实现后,重新检查代码,重点检查有循环代码的地方,重新设计逻辑,减少循环次数。调整相关跳出循环的逻辑代码顺序,根据实际使用情况调整相关代码顺序,尽量减少循环次数。

    4、重复造轮子,运行轮子的优化

    比如需要重复获取某个值,那么这个值直接放入全局变量里,避免多次运行获取方法浪费多余的性能。

    2020-07-06
    赞同
    回复
  • 🐲龙妍🐎马睿
    🐲龙妍🐎马睿
    发表于移动端
    2020-07-02
    ??????????
    2020-07-02
    赞同
    回复
登录 后发表内容