creator1.6的h5性能简单对比后发现的一些问题

很欣喜的,1.6的H5在手机端表现有比较明显的提升。
用的IPHONE 6S PLUS,自带浏览器
1.5.1 2000 个 序列帧动画,40FPS左右
1.6.0-beta3 3500 个 序列帧动画,40FPS左右
但是让我伤心的是,我使用egret5.0.4同一个动画测试是这样的
5.0.4 8500 个 序列帧动画,40FPS左右

动画大小80*80

而在电脑浏览器上,creator1.6.0跟egret5.0.4测试的性能差不多(i3 -2130, 9500GT, 8G)
1.6.0-beta3 5000 个 序列帧动画,40FPS左右
5.0.4 5000 个 序列帧动画,40FPS左右

那么问题来了,为何egret在手机浏览器上表现好那么多,而在电脑上表现是差不多的?

@各位大神 @panda

test-creator-1.6.zip (1.2 MB)

test-egret-5.0.4.zip (2.8 MB)

附上两个工程,creator点按钮每次增加50个动画,egret点背景图每次增加50个动画

2赞

我先看看,可能跟分辨率有关系

伤心伤心

非常感谢给我们做 demo,也帮助我们定位了一个热点。

我检查了一下,主要的性能差距有下面两个

  1. Animation 组件实现中,其中有一个被频繁调用的 set 函数我们使用了 for in 语句,导致无法被 jit 优化,这个我们会尽快修复的。
  2. 组件的运行方式相对比 MovieClip 的 update 方式损耗更高一些
  3. 我们显示帧率的 debug 信息相对损耗更高一些

在临时修改了这个函数实现,简化了 debug 信息之后,v8 引擎上两者的表现基本一致了。也是因为这个测试例中节点的数量导致 Animation 组件的运算成为瓶颈,实际上在真是游戏中一般不会出现这种情况,所以不用太担心。优化方面我们一直在做,特别是框架层面,cocos 以及目前的 2d 游戏引擎渲染框架都比较陈旧,我们也正在做下一代渲染引擎的升级工作,不仅会把累目前框架中赘的部分甩掉,更会升级引擎的表现力,支持更高阶的渲染定制。

4赞

GOOD GOOD GOOD,非常感谢,主要是要做MMO,同屏数量会有不少,就做下测试,如果能解决,那至少是能放心用了

期待正式版本表现更好

优化一直是工作重心,放心

希望未来可以一起同步到cocos2d-JS

团队辛苦了