FrankKai / FrankKai.github.io

FE blog
https://frankkai.github.io/
363 stars 39 forks source link

为什么easeljs的Ticker.on('tick', this.stage)会撑爆cpu? #150

Closed FrankKai closed 4 years ago

FrankKai commented 5 years ago

在使用easeljs的过程中,发现在频繁渲染使用了easeljs的组件时,由于下面这行代码,会导致cpu撑爆,由于easeljs的文档写的比较抽象,所以我将深入源码对撑爆cpu的原因进行分析。

Ticker.on('tick', this.stage);

源码地址:https://github.com/CreateJS/EaselJS/blob/63077ee40a614e64d1ec970b483eb36900a546b1/src/createjs/utils/Ticker.js

FrankKai commented 5 years ago

Ticker是一个指定时间间隔的集中式tick和心跳广播。

MarvinWilliam commented 5 years ago

cpu占用率高建议跑一下性能分析工具,Ticker.on('tick', this.stage); 之前我们用的地方主要是移动端渲染动画

FrankKai commented 5 years ago

@MarvinWilliam 我把这个去掉就不撑爆了,是之前参考别人一个demo加的无效代码。性能分析工具分析起来头有点大,我本身对easeljs掌握还不足够