问几个性能开销方面的问题,还请各位大大帮忙一下

1.网上看到openGl是次方打开图片到内存中,那么一张16001600的合图如果变成4张400400的合图 内存占用是否会减小?(我也不知道网上说的对不对啊)

2.网上看到频繁addChild会造成较大开销是否是对的? 如果是的话,那么一堆父节点固定的节点,是否可以用数组管理,用active显示而不用节点池

3.cc.move动作和直接set坐标哪个开销更大?很多个节点同时做move动作开销大吗?

4.使用帧动画和 直接创建6个节点加载图片然后用代码控制显示模拟帧动画 哪个开销更大?

1赞

@jare

顶,也想知道。

还有一个。。2.0.9发布小游戏占用的内存实在是太多了。但是为了发布其他平台小游戏,没有办法回退到1.10或者1.9.3 这就很尴尬了

3.cc.move动作和直接set坐标差不多的,cc.move就是帮你封装好了,也是每帧去执行移动。但你不应该考虑在这,而是考虑怎么在这个基础上做优化
2.频繁add的child也分是什么样的child,还有,active显示不如opacity,active我记得会刷新一次节点排序
1.1600的分辨率还完全不成为性能负担,你拆成4张也是要搭功夫,这可不是引擎组的意愿。
4.你这个4和3 一个意思

借楼问下,在2.0.9版本下,微信小游戏环境,用scrollview然后在代码里动态addchild进layout里面,会有明显的卡顿,楼主有遇到这个问题吗

官方之前很自豪的说2.x的渲染结构提升很多。在1.x的时候,addchild, visible 这些操作都是十分耗时的。原来2.x也依然存在啊。

你的溪谷我膜拜了 很厉害!!!
我们公司都还没有解决微信小游戏远程播放服务器上的音乐和远程TTF的问题呢。。

放的多就卡。。放的少就不卡,但卡是肯定有点儿卡的:grin:

我今天回退了版本到1.10 发现内存其实差不多 ,不知道其他人说1.10比2.x运行内存少200M是怎么搞的。。200M啊。。

还有一个很奇怪的问题,在安卓上放音效是真的卡。。全部用的WebAudio模式,但好像在微信小游戏平台没有用。代码如下

塔防游戏,开炮的音效放的非常频繁。。

你主要性能消耗在音效上了,如果玩家卡就让他自己关闭音效

我放了四个就卡了。。而且切换页面也会卡

那可以不用layout 手动set坐标

因为资源特效确实多,我现在不开音效是还可以玩 不会特别卡 但是FPS也才20-40,当然开了音效大概3-5FPS

不用layout也需要addchild到一个节点上,还是会卡顿

只能说卡是正常的。。不卡是你优化做得好:relaxed:

https://github.com/cocos-creator-packages/jsb-adapter/pull/119/files
合并一下这个pr
然后在main中增加cc.macro.CLEANUP_IMAGE_CACHE = true可以解决内存增加的问题