微信游戏在哪里 微信游戏在哪里设置不要好友看到( 六 )

  • List优化,动态初始化,使再循环
  • 3.越来越糟了,卡顿
    • 有对象吗/用完了就藏东西,而不被删除,越积越多
    如:飘血、事件监控等
    • 内存泄漏,GC越来越频繁
    4.坚持闪回
    • 内存太高,内存泄漏
    • 检查是否有错误或无限循环
    理念二:基于记忆的
    许多感觉到的大堵塞是由垃圾收集引起的;
    记忆问题通常比CPU这个问题更难解决,甚至需要大规模的重建;
    减少内存会让游戏更轻,其他小问题可以缓解 。
    理念三:内存使用策略比内存释放策略更重要
    【微信游戏在哪里 微信游戏在哪里设置不要好友看到】内存使用策略,通常应该在项目的早期阶段就制定出来,这里有一些建议:
    • new对象必须由创建Factory或者Manager实行统一管理,这就完了,这对以后排除内存问题尤其重要;
    • View和Model完全分离;
    • View的创作精细到每一帧,按业绩创造;
    • FpsManager根据帧速率动态调整阈值;
    • 对象池的合理使用:“频繁的创造和毁灭”的“小型”对象采用对象池 。
    理念四:重视资源压缩
    在游戏程序中,很多内存来自资源,合理压缩资源是减少内存的有效方法 。关于资源压缩,这里有一些建议:
    • 注意制作工艺,技术标准
    资源的生产不能是任意的,必须有一定的标准,例如:
    1. 原始图片资源的使用jpg还是png
    2. 是可以镜像处理的图片资源吗
    3. 相似的资源可以统一吗
    4. 避免在程序中使用过滤器和灰化
    5. 图片资源上一些不起眼的灯光效果或者羽毛效果可以用吗
    6. 字体图片,拆分和组合相同的单词
    7. 九格拉伸图的概念
    • 理性行动、特效序列帧
    许多角色会移动、特效资源,美术给的效果很精细 。在处理记忆问题时,考虑对这些资源的以下处理:
    1.抽帧
    一些影响不大的关键帧可以删掉吗 。
    2.再次放大
    一些不起眼的部分,序列帧可以按比例缩小,当使用该程序时,再放大 。
    3.砍方向
    人物的左右资源可以通过旋转其中一个动作来实现吗?
    需要各个方向的资源吗?
    • 对称资源减半/使用四分之一反射镜
    • 序列特效IDE进行替换
    • UI全屏分辨率选择 1024像素
    • icon尝试使用 64*64 的格式
    • 使用pvrtc etc,png8格式
    • UI使用背景最接近的那个2权力的大小
    • 不要打相册里的背景,并尝试使用它jpg
    • 少用口罩
    • 使用单声道声音
    理念五:屏蔽策略
    当游戏出现性能瓶颈时,我们不得不考虑屏蔽一些游戏内容的显示,例如,一些次要的场景单元、特效等 。拦网必然会削弱玩家的游戏体验,但是,和卡顿比起来,甚至闪回了,适当的屏蔽规则是必要的 。
    • 添加屏蔽设置,性能差时自动开启
    • 该策略应涵盖所有类型的显示对象
    • 一些场景使用统一的模型
    理念六:不要忽视看起来很小的东西
    积少成多,一些看起来很小的地方,但是处理方式不合理,也往往会影响游戏的表现,在《大天使之剑H5》中,我们在以下几个地方做了一些优化:
    • 配置表数据优化
    • String阵列方案
    • 相似String的处理
    • 版本文件,使用树存储来减少URL场的重复
    • 类型被广泛使用并且变得更长
    • 战报分析,细分分析
    理念七:了解有关开发人员工具使用的更多信息
    调试游戏时,我们经常依靠开发者工具来了解游戏的内存变化、CPU的使用、游戏中物体的整体情况、资源的应用、甚至是我们关注的变量值等等 。善于使用各种开发者工具可以让我们事半功倍 。
    • 使用谷歌浏览器的开发者工具
    layabox开发的H5游戏默认由谷歌Chrome调试,在这里,我们来谈谈Google Chrome的开发者工具的应用 。当游戏在谷歌浏览器中运行时,按F12你可以打开开发者工具,他的一些常见功能是:
    1.console的使用
    微信游戏在哪里 微信游戏在哪里设置不要好友看到

    文章插图
    Console的界面如上图所示,主要显示我们游戏运行的日志等信息 。在每根木头的后面,有一个链接可以快速跳转到输出日志的代码,在console的下方,具有输入框功能,我们可以通过在这里输入代码来改变当前游戏中的值、以不同的方式打印日志等 。
    2.调试
    我们可以在工具的Sources选项卡找到我们想要调试的内容JS,调试断点或条件断点 。