阅读原文html
有时候发现mac风扇响的厉害,因而我检查了mac系统的活动监视器,发现Google Chrome Helper占用99%的CPU。git
一般来讲Chrome若是占用太高的内存,这并非什么问题,毕竟Chrome的性能以及易用性是创建在占用不少内存的基础上的。可是不管什么程序,持续的占用超过80%的cpu,都是极不正常的
。大多数程序都是占用维持在低于10%的CPU。github
活动监视器指出问题出如今Chrome浏览器。那么问题能够再次细分为三块。chrome
其实Chrome浏览器自身也是有任务管理器的,通常来讲windows版chrome按住shift+esc
就会调出任务管理器窗口。mac版调出任务管理器没有快捷,只能经过Window > Task Manager
调出。windows
调出任务管理器后,发现一个标签页,CPU占用率达到99%, 那就说明,应该是这个标签页中存在持续占用大量CPU计算的程序。浏览器
最后找到这个页面,发现该页面背景图是一种动态粒子图。就是基于particles.js作的。我想,终于找到你了。网络
因而我把这个动态图的相关js代码给注释掉,电脑的风扇也终于变得安静了。性能
问题解决的总结:解决问题的方法时很简单的,基于一个现象,找到一个缘由,基于这个缘由再找到一个现象,而后一步一步缩小问题范围,逼近最终缘由。
google
机器CPU太高,通常都是能够从任务管理器着手解决。系统的任务管理器能够监控各个程序占用的CPU是否正常,一般程序自身也是有任务管理的。spa
像谷歌浏览器这种软件,几乎自己就是一个操做系统,因此说它的任务管理器也是必不可少的。Chrome浏览器再带的任务管理器能够告诉你几个关键信息。
内存
CPU
网络流量
大小若是你一打开谷歌浏览器,你的电脑风扇就拼命转,那你最好打开谷歌浏览器的任务管理器看看。
动态背景图每每都会给人很酷炫的感受,可是这种背景图的制做并非很复杂,若是你使用particles.js来制做,制做一些动态背景图只须要几行代码就能够搞定。可是这种酷炫的背后,CPU也在承受着压力。
particles.js提供的demo效果图,在Chrome中CPU会被提升到100%。
也有几家使用动态背景图的官网。我记得知乎之前就用过动态背景图,可是如今找不到了。另一个使用动态背景图的是daocloud, CPU也是会在首页飙升到50%。
所谓:强招必自损
,动态背景图在给人以炫酷科技感的同时,也须要权衡这种技术对客户计算机的压力。
另外,不要小看JavaScript, 它也可能引发大问题