stagegl性能实测
createjs1.0版本已经推出一段时间了,其中最重要的功能就是stagegl了吧。本来早就想写这方面的文章,结果一结婚忘记了,那今天就来写一篇。讲讲大家最关心的性能问题,至于用法,大家可以自己看文章的demo,其实差别跟原先并不大。
http://www.ajexoop.com/demo/xiaolv/index8.html
性能跟上一个版本非常恶心的spriteStage情况一样,非常优秀,同屏15000个对象60+帧频,但是用起来比上个版本就简单多了,大家可以看demo里的代码,就是把stage = new createjs.Stage(canvas);换成了stage = new createjs.StageGL(canvas);
上面这个demo是看sprite在stagegl中的性能,但是createjs的长处还是在于和animateCC的配合,所以我们看movieclip在stagegl中的性能如何。
http://www.ajexoop.com/demo/xiaolv/index9.html
大家可以看到,性能弱了不少,10000个对象,只有40左右的帧频,不过比起没有stagegl,那性能是要进步太多了。
大家可以看看没用stagegl的demo:http://www.ajexoop.com/demo/xiaolv/index1.html
很可怜4000个对象都只有30帧左右
然后我再在手机上测试一下,我的手机是iphone6s,性能如下
上面这个demo是sprite在stagegl下的性能,由于几千sprite动作都在同一刻,所以瞬时消耗比较高,所以数值比较飘8000个对象fps在25-45之间。
毕竟是手机,和pc端是不能比的,不过比不用stagegl是好很多了。
不用stagegl的移动端demo:
4000个对象只有可怜的22fps。
最后总结一下,使用stagegl后createjs的性能会有飞一般的提升,大概在3-10倍左右。不过stagegl这里有个细小的问题,就是默认不透明,如果故意设置透明了会消耗很多性能,所以一般做项目,事先先放一张底图在下面,就可以解决了。
支雅
牛逼轰轰