页面中使用了大量的Echarts 图例,当操作页面时间久了后发现浏览器占用电脑CPU达到了30%,而电脑的配置是服务器级别的配置,这让人觉得奇怪。
使用chrome的profile调试工具记录了js脚本的cpu占用情况,定位到echarts的一个函数占用了大量的CPU,这个函数是:
return setInterval(function () {
addShapeHandle(background);
for (var i = 0; i < n; i++) {
var style = shapeList[i].highlightStyle;
if (style.y - shapeList[i].animationY + style.r <= 0) {
shapeList[i].highlightStyle.y = canvasHeight + style.r;
shapeList[i].highlightStyle.x = Math.ceil(Math.random() * canvasWidth);
}
shapeList[i].highlightStyle.y -= shapeList[i].animationY;
addShapeHandle(shapeList[i]);
}
addShapeHandle(textShape