做的第一款小游戏坑了,这性能烂得我快哭了。。。

大概场景是, 9个人物(dragonbone)每若干秒(根据配置)会造出一个道具,道具按照moveTo移动,最后到下面仓库destory。 现在有两个问题

  1. 界面摆满9个人物, FPS低到只有30左右。:cry:
  2. 到后期造得很快,大概节点里面存在150个道具的时候, 道具节点莫名其妙跑到最上面去了。 :cry:

截图里面的节点结构是这样,(player每生产一个道具是:item.parent=MainNode):

  • MainNode:
    • player1
    • player2
    • player3
    • player9
    • 道具
    • 道具
    • 道具

当MainNode里面道具达到150个以上的时候, 节点变成这样了:

  • MainNode:
    • 道具
    • 道具
    • 道具
    • player1
    • player2
    • player3
    • player9

跪求大神帮忙看看,这还能抢救吗。。:disappointed_relieved:

再截一张微信上面的调试信息

哈哈,还有优化空间

这个游戏看着不错啊,挺喜庆

优化空间很大,150个道具讲真不算多,随便一个打飞机游戏都是上百个子弹,建议你留意看看下面打算做新手向消灭病毒的帖子

合图 drawcall 降低到5以内试试

额 其实 200个 单位 50 帧没什么问题… 但至于 优化 和游戏太紧密了…看自己写的逻辑吧…

优化空间很大,节点顺序试试自己手动设定item的zIndex进行排序。

用序列帧吧。省掉很多cpu性能。

数量级多的时候就不应该去destroy掉了,应该考虑循环利用

用对象池,合图,压缩图片,减少一下drawcall,优化优化应该不会卡的

合图上面都说了
我提个建议是你自己实现帧刷新移动,你用moveTo这种的话,应该有一些额外开销。

然后开个玩笑吓吓你(也有可能是真的)
你这里面有人物出现,需要归类到角色游戏分类,提前准备好1000万毛爷爷注册资金的公司花半年办版号吧

小游戏叫什么名字啊,想去玩下,看着很不错哟

有点开罗游戏的风格。

我已经上线了啊 我写的是休闲游戏

大佬,合图是什么意思,我现在道具图用的是AutoAltas

合图以后还要注意,不同的图集使用不能穿插出现(会打断渲染批次),用到同一图集的sprite最好放一个节点下进行管理。比如制作的流水线是一个图集,人物是一个图集,制作产品是一个图集,这些元素得放在三个节点下。
如果要提高性能,不要让每个产品单独移动。而是用一个脚本控制所有物体在传送带上的移动。

加群150968661,我们帮你研究一下

不要用mask

骨骼动画慎用,不好优化DC,你这个素材量把人物手部拆成序列帧,场景内所有资源整个弄一张大图,一个DC搞定,如果一个打不下,可以分层去拆,比如道具单拆一个大图出来。