Creator3.6.2和LayaNative2.13.2原生端性能测试对比

TestAnimation.zip (785.3 KB) 项目技术选型中我拿最新的3.6.2同LayaNative2.13.2(两者都是最新版本),在原生端做了一次性能对比,有点疑惑

测试用例:分别使用2D序列帧动画/2D-spine骨骼动画,在场景里随机做Tween移动,骨骼动画会做三个动作的叠加

APP包的模式:LayaNative选的双线程模式,Creator手动关掉了动态合图和平滑帧率(项目不想依赖于这两个引擎自带的优化,动态合图会增加内存,平滑帧率会在卡顿时掉到30帧然后又恢复到60帧,影响测试数据,并且Laya也是没有这两个优化的)

测试结果(保持接近满帧的数量):
测试用例 机型 平台 引擎 数量 帧率
序列帧 小米6 安卓 Creator 800 59.34
序列帧 小米6 安卓 Laya 3100 59.59
序列帧 Iphone11 IOS Creator 2500 60
序列帧 Iphone11 IOS Laya 1100 60
骨骼 小米6 安卓 Creator 250 59.25
骨骼 小米6 安卓 Laya 150 59.38
骨骼 Iphone11 IOS Creator 1000 60
骨骼 Iphone11 IOS Laya 50 60

已知的事情:Laya的骨骼动画是用的spine的js库,而creator用的c++库,性能更优说的通,并且在IOS上不能开启JIT,而LayaNative在原生端跑的引擎代码全部也都是js,所以性能肯定很差,发热量也很大

问题:
安卓端跑序列帧会比Laya差很多,会不会跟LayaNative的双线程模式有关,根据文档说明是渲染线程和脚本线程分开
(1)Creator是不是也有类似这种的东西只是我不知道?
(2)如果没有未来是否可以考虑加上?还是说Creator走不通这条路

5赞

喜欢这样的选手。帮顶

这里说的骨骼动画应该指的都是 spine 吧

  1. Cocos 也是引擎和图形线程分离两个主线程
  2. 这里关于安卓上序列帧测试性能不佳问题,能否把你这个测试例提供给我们进行测试?

这么来看,性能完胜laya,论坛不是有人说性能不如laya吗,应该也测测3d方面

拉雅胜在3d
起步早

一个做游戏的,一个做元宇宙的,有啥可比性?好的不比比坏的,要比拿 godot,拿 O3DE,拿 UE Unity 去比。

同帮顶,这样的帖子最实在

骨骼动画都是指spine, 测试用例要怎么发给你呢?

好贴,帮顶,估计是官方在安卓上有bug吧,没理由ios性能好这么多,安卓却要差

1赞

你好,工程代码已经上传了,有空帮忙看看 :rose:

1赞

内部经过测试已经反馈给引擎组了,后续有结果随时同步

问题跟踪链接:https://github.com/cocos/cocos-engine/issues/13277

2赞

好贴,大佬牛批~

1赞

mark,大佬牛批

顺便来一波 2.4和3.6的对比? :grinning:

期待 :rose:

请问这个问题官方有在推进吗? 我看github上把这个问题放到了3.7.2,但是在更新日志里又没有这一条,现在有定位到什么问题吗?而且不仅仅是在小米6上,应该是大部分安卓机对比laya会差

laya性能好指的是h5,不是native

但是我现在实测的结果是,laya2.13的安卓native比creator3.6.2支持的序列帧多很多 3100 : 800 就是正常的跑序列帧,没有其他逻辑

感谢反馈。Creator 3.x 原生上也有 gfx 层级线程分离的,而且默认是打开的。
至于为什么 android 上序列帧动画性能有问题,我先分析看看。

分离线程具体是指引擎里面哪部分代码?