大家chrome时钟频率有问题吗?

上网、浏览、聊天、下载等
回复
esolve
帖子: 210
注册时间: 2010-05-08 4:52

大家chrome时钟频率有问题吗?

#1

帖子 esolve » 2015-01-25 9:31

http://www.zhihu.com/question/24503682

伊恩莫里斯(Ian Morris)在福布斯上发表了一篇文章指出,喜欢使用谷歌Chrome浏览器的Windows用户会在无意之中破坏他们的计算机电池。问题出在系统时钟速率上。在默认状态下,Windows PC的系统时钟速率为15.625毫秒,这就意味着处理器每秒要“醒来”64次。但是运行Chrome浏览器会将系统时钟速率改成1毫秒,这意味着处理器每秒要“醒来”1000次。


我查了一下我的机器

CPU MHz: 1200.000

很大啊
头像
lhw828
帖子: 2797
注册时间: 2007-03-15 16:58
来自: 湖北武汉
联系:

Re: 大家chrome时钟频率有问题吗?

#2

帖子 lhw828 » 2015-01-25 16:20

:em20 这个太扯了
taohunter
帖子: 1555
注册时间: 2012-03-31 3:29

Re: 大家chrome时钟频率有问题吗?

#3

帖子 taohunter » 2015-01-25 18:33

esolve 写了:http://www.zhihu.com/question/24503682

伊恩莫里斯(Ian Morris)在福布斯上发表了一篇文章指出,喜欢使用谷歌Chrome浏览器的Windows用户会在无意之中破坏他们的计算机电池。问题出在系统时钟速率上。在默认状态下,Windows PC的系统时钟速率为15.625毫秒,这就意味着处理器每秒要“醒来”64次。但是运行Chrome浏览器会将系统时钟速率改成1毫秒,这意味着处理器每秒要“醒来”1000次。


我查了一下我的机器

CPU MHz: 1200.000

很大啊
你理解错了。google的这个修改只对windows这样的操作系统“有效”,而对linux和apple的mac os等系统是无效的--“Macs and Linux machines don’t have this problem, because they use something called “tickless timers”“。你自己引述的也是”喜欢使用谷歌Chrome浏览器的Windows用户

google偷偷修改的不是系统硬件的时钟频率(clock frequency,影响的是cpu两条二进制指令之间的时间间隔),这个值只能在cpu可以”超频“的计算机上通过给cpu超频的手段实现,实际上修改的是计算机上的一个叫做石英振荡器的部件产生的频率的倍数(石英振荡器产生的这个基准频率本身是固定的,不可更改,原理和石英电子手表一样,可超频的计算机只能改“用多少倍的这个频率运行”);而是windows操作系统的“系统事件时钟频率”(英文是timer resolution,是指windows下两个event之间的时间间隔,不是cpu指令的)。事实上不光是chrome会修改这个软件时钟频率,只要你在windows上使用了google的其他软件和服务,如google earth、youtube视频等软件和服务,这个时钟频率都会被改为1ms。例如你用firefox浏览器打开了一个youtube的视频,那么整个firefox上所有的后续操作就都受其影响了,甚至是windows下所有的软件都被影响了。直到全部退出google的软件和服务为止(甚至退出了还会继续生效,直到调用过google软件或服务的软件如firefox也退出了,才恢复为15ms)。

在windows下有一个小软件工具叫clockres,可以在使用google的软件和服务前后对比时钟频率的变化,如以下截图所示:

开启google服务前:
clockres_no_google.PNG
clockres_no_google.PNG (8.21 KiB) 查看 1755 次
在firefox上打开youtube的一个视频后,clockres变为1ms:
clockres_firefox_access_youtube.PNG
clockres_firefox_access_youtube.PNG (7.66 KiB) 查看 1755 次
在firefox上关闭youtube的这个视频(当然也没有运行其他的google的东西)后,稍等一会,clockres恢复为15ms:
clockres_exit_google.PNG
clockres_exit_google.PNG (7.67 KiB) 查看 1755 次

google为什么要修改windows操作系统的时钟频率,也就是这么干可以为google及其用户带来什么好处:

修改这个频率后,用户在使用很多goolge软件或服务的时候,操作系统每1/1000秒唤醒一次cpu,也就是不管有事没事基本不让cpu”歇着“,一直等着为google软件的下一条指令对应的windows event”睁着眼睛守在后台”。这使得在windows下,不少goolge的软件看起来似乎比别的同类型软件更优异,例如:不少人觉得firefox的性能不如google的chrome,尤其是在玩大型3d网游的时候;在带宽足够的情况下,google的视频服务youtube似乎比很多本地国产视频还要“流畅”。事实上google的程序员也不是拍脑袋自己想出来的,这个“技术”(仁者见仁,智者见智--本人中立)很早就被用在实时性要求很高的windows游戏软件里了。
三年后终于回到16.04--稳定了!
回复