Chrome過於頻繁喚醒CPU的說法是真的么?

伊恩莫里斯(Ian Morris)在福布斯上發表了一篇文章指出,喜歡使用谷歌Chrome瀏覽器的Windows用戶會在無意之中破壞他們的計算機電池。問題出在系統時鐘速率上。在默認狀態下,Windows PC的系統時鐘速率為15.625毫秒,這就意味著處理器每秒要「醒來」64次。但是運行Chrome瀏覽器會將系統時鐘速率改成1毫秒,這意味著處理器每秒要「醒來」1000次。

這是真的么?有多大影響?你怎麼看?(跟元芳沒關係)


請提供引用文獻的鏈接。

我是來吐槽的:

這個人明顯是外行,所謂處理器每秒鐘醒來64次的說法是不正確的。

首先:確實有64次這個東西,但這個是CPU的時鐘中斷的次數,這個次數也僅限於個人電腦平台,在嵌入式行業里,這個數是可變的。

這個說法的錯誤在於:

1、應用軟體通常沒辦法修改時鐘中斷的頻率,一般來說操作系統起來以後,這個數字就定死了,不存在某個軟體來改變它的情況(當然,也不是說完全不能改,而是沒必要改)。

2、時鐘中斷跟喚醒次數也沒關係,在一個每秒只有64次時鐘中斷的平台上,仍然可以實現每秒超過1000次的任務調度,這跟軟體設計有關係。而且這也不叫喚醒。

3、時鐘中斷跟省電也無關。有些操作系統能在省電時候把時鐘中斷都關了,所以中斷跟喚醒無關。

這個16ms的東西是什麼?它叫時間片,可以理解為一個任務在沒有外界干擾的情況下連續運行的最小時間單位。但是,一個任務可能因為信號量(semaphore)等原因在沒有消耗完一個完整的時間片的情況下切換出去,讓別的任務繼續運行,所以也不是說一秒鐘有64個時間片就最多只能有64次調度。要知道,你按下鍵盤上的一個按鍵產生的任務調度可能都不止64次。而且主流的操作系統都能合併時間片,讓一些重要的任務持續運行。

中斷不意味著醒來,醒來也不意味著一定就費電。自己寫一個簡單的程序就能做到一秒切換1000次,但不一定就費多少電。

總之,這個說法肯定是錯誤的。

但chrome確實費電這個是事實,據說好像跟flash有關係吧,這個我不確定。


額.. 就我目前所知, 反對一下樓上的觀點:

鏈接1: 原文

Google"s Chrome Web Browser Is Killing Your Laptop Battery

鏈接1.1: 原文上報Google之後, 原作者的Follow-up

Google Will Address Battery Problems Raised By My Recent Story

鏈接2: Chromium上的Issue Page

Issue 153139

我們先把這個問題拆開來:

0. 喚醒時鐘頻率: 做過單片機的都知道, 簡易(帶外接設備)的單片機運行基本是基於以下的方法:

主函數一直跑, 然後計時器一直計時; 到達一定時間後檢查外界介面是否有變化, 如果檢測出變化則跳至對應函數運行.

如圖所示:

喚醒時鐘越快, 則系統對於事件的響應時間越短, 但是相對的能耗也會變高.

1. Chrome有沒有修改"喚醒"時鐘頻率? 有!

(這裡要特別指出一下: Chrome會關心此事件並非僅僅因為它修改了喚醒時鐘頻率, 而是在於在Windows 7下, 一旦開了Chrome, 即使不打開任何需要高喚醒頻率的網頁, 甚至不打開網頁, 喚醒時鐘頻率也不會被改回去!!! 所以對於Windows 7下的 Chrome, 這確實是一個bug).

2. 該頻率是否可以稱為"過於頻繁"? 我認為可以稱為較高頻率, 但是用"過於頻繁"這個詞我認為過分了

3. 這種現象(加快時鐘頻率)是否會影響到電池消耗? 一定會, 在原文鏈接裡面, 原作者也說了這個改動會使得電量消耗多25%

4. 這種程度的消耗是否會導致單次電池使用時間變短? 一定會

5. 這種程度的消耗是否會導致電池壽命降低? 我認為未必;

比較嚴謹的說法是: Chrome的這個Bug會在每次Chrome運行後加速電池消耗, 長期(&>=3年)以往, 會使得電池壽命降低的比正常速度略快 (10% ~ 30%).

總結: 伊恩莫里斯(Ian Morris)這篇文章有嘩眾取寵的嫌疑, 因為文中所指的問題(尤其標題) 並沒有那麼嚴重. 但是, 這畢竟是Chrome在操作系統下的一個Bug, 因此得到了重視.

另: 附上一些相關程序以及相關喚醒時鐘頻率的修改表:

標準播放器: 1ms

標準Word文檔: 15.625ms

IE8 標準網頁(無Flash): 15.625ms

IE8 Flash網頁: 1ms

IE8 純文本網頁: 15.625ms

哦對了, 很多遊戲其實也會修改這個頻率. 掃雷不算.


推薦閱讀:

有沒有像iChrome一樣的自定義首頁網站?
為什麼 Chrome 從 2008 年發布到現在才有普通用戶的 X64 版本?
如何說服身邊的人用 Chrome ?
新浪微博上金山毒霸和李鐵軍先生在討論批判 Chrome ,說法對么?

TAG:GoogleChrome | 中央處理器CPU |