3.7和2.4的2d性能为什么差这么多?

分别在2.4.11和3.7.2上创建了一个100x100的空白图片预制体,然后在场景上添加了50000个实例。帧数为什么会差这么多?

代码:
const { ccclass, property } = cc._decorator;

@ccclass

export default class NewClass extends cc.Component {

@property(cc.Prefab)

prefab: cc.Prefab = null;

start() {

    for (let index = 0; index < 50000; index++) {

        const node = cc.instantiate(this.prefab);

        this.node.addChild(node);

    }

}

}


用构建后的,不要用预览测性能

1赞


构建后的也一样啊

1赞

确定是同一个项目?怎么会有 10 万个面。不行就都传上来看看吧

3_7_2_test_2d.zip (28.0 KB)
就是创建了50000个方块啊

我这边直接构建也这样,还真是哈哈哈哈 :rofl: :rofl: :rofl:

1赞

3.x在2D的表现一直没有2.x好

1赞

mark一下

没开核批吧

2.4.11 同样 5 万个节点,小米测试机上只能跑 4 fps 哎,3.8 在 10 fps 左右,你能跑 50 多帧的 2.x 项目发来看看?


image

好奇去尝试了一下laya 50万个sprite

这就尴尬了 是不是没有开合批

我们公司有一个项目组遇到了3.7同样的问题,原因是在scene的配置文件里有两个摄像机(在cocos编辑器里只能看到一个),在运行时Draw call都是双倍的,这问题查了好久,最后在.fire文件里,找到了两个Camera配置,删了一个就恢复正常了。不知道和他这个有没有关系

这俩图帧数不同是有什么区别?

这样测没意义吧,,实际项目测试,3.8的2D渲染性能是比2.48要好的。

按道理不应该有那么多3角面吧

第二个图是 Mid-tier mobile ,第一个图无限制。