用 JavaScript 检测 CPU 占比(转)

本文介绍了一种使用JavaScript通过setTimeout函数探测CPU占用率的方法。该方法通过记录一系列的时间戳并分析其变化来推断CPU的忙碌程度,从而绘制出CPU占用趋势图。

CPU 占比探测

通过 setTimeout 的方式探测 CPU 已经不是秘密,去年腾讯的朋友在 Velocity 上分享过,北京有朋友还通过这个原理,几年前就实现了网页游戏中动画等耗时操作的自动调节。原理很简单:

var data = [] var t  function pulse() {   t && data.push(Date.now() - t)   t = Date.now()   setTimeout(pulse, 50) }  pulse() 

就是每隔 50ms 打一下点。理想情况下,data 的值应该是

data = [50, 50, 50, 50, ...] 

但实际情况,data 会是

data = [51, 52, 50, 52, ...] 

当 CPU 比较忙时,data 的数据变成

data = [81, 102, 90, 62, ...] 

即 CPU 越忙,data 数据项会越大。这样,记录一系列 data 值,就可以绘制出 CPU 占比趋势图,和通过任务管理器看到的 CPU 趋势图非常接近。

上面只是原理说明,实际情况没这么简单。但很明显,通过这么一个简单的规律,就能实现用纯 JavaScript 来探测 CPU 占比了。

转自:https://github.com/lifesinger/lifesinger.github.com/issues/122 

转载于:https://www.cnblogs.com/wuzy/archive/2013/03/28/2987852.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值