Mac 平台的 Chrome 比 Safari 性能更好嗎?為什麼用的人那麼多?
普遍的感受是 Chrome 更耗電,頁面滾動效能差,佔用更多內存和更大的 CPU 使用率
拜託,最重要的原因,難道你們不覺得Chrome真的很快嗎
這裡有一篇文章,來自google的程序員lya Grigorik談Chrome的高性能網路設計(需要翻牆):
https://www.igvita.com/posa/high-performance-networking-in-google-chrome/
專業方面的優化就不在這裡闡述了,可能大部分人對計算機網路原理還不是那麼理解。摘一些大家能看得懂的優化:
1. Chrome"s Predictor:
Chrome內置有非常強大的預測系統,當你在瀏覽器的地址欄上(Omnibox)一邊輸入網址的時候,Chrome就已經根據你的輸入嘗試去判斷你要訪問網址,並且開始載入(或者DNS解析,與其他瀏覽器不一樣,Chrome使用的並非是系統自帶的DNS解析Client,而是使用自己內置的DNS解析工具)。
所以有時候難道你們不覺得網頁是秒開嗎(至少我自己有這樣的體會),在輸入完網址敲回車的時候就能立即打開網頁。因為Chrome早就猜到你要訪問,已經在後台載入好了(你可以這麼理解:Chrome已經為你打開了一個你想訪問網站的標籤頁,但是暫時隱藏了,在你敲擊回車的那一剎那,Chrome把它顯示出來了,所以你會覺得秒開)。
既然是預測,當然不是百分之百準確的。它也會根據用戶的輸入不斷的調整,並記錄不同關鍵字訪問站點的概率,並且這些你都可以看到,對用戶是透明的:
請在瀏覽器中輸入 chrome://predictors
然後你就能看到這樣的圖片(這個截圖不是我個人的),右邊的Confidence欄就代表了對這個關鍵字和用戶可能訪問的對應網站的概率,當然是越高越好,hit count和miss count欄位的含義當然也不言而喻了
不僅僅是在地址欄輸入的時候,甚至在你滑鼠懸浮到某一個鏈接上的時候,Chrome就開始去對鏈接的主機進行DNS解析和TCP連接
2. Chrome目前採用的是 process-per-site模式,也就是說同一站點(可能多個tab標籤)共用同一個進程(其他的模式有:一個標籤使用一個進程,整個瀏覽器使用一個進程),這樣的好處是保證了某一個站點的崩潰不會影響到其他站點。在IE下面你肯定有這樣的經驗:打開某個網站的時候卡住了,導致了整個IE都不能響應了。但是Chrome這麼做避免了這個問題。並且多個站點共用的話能夠保證建立起來傳輸數據的管道重複利用,不用發出新的請求,建立新的鏈接。
BTW:知道為什麼訪問一個網址為什麼慢嗎,時間去哪兒了嗎?
大部分的時間都花在了網路請求上。這也是為什麼Chrome要在網路優化上下大功夫。排名第二位的是Javascript腳本的執行。個人覺得現在的V8引擎似乎不算很大的優勢了,IE也說自己的執行效率高,Safari也說自己的執行效率高。但個人沒有用banchmark(性能基準測試)測過。
你們想看看自己Chrome里有關網路的一切?請在地址欄里輸入:chrome://net-internals
什麼DNS、Cache、Prerender(上面說的預先載入的頁面)、目前可用的Socket都一覽無遺。當然要你們感興趣和看的懂才行。
暫時覺得以上兩點還算比較通俗的,可以和大家分享。
注意,以上的優化方案主要存在於桌面端,而並非在移動端。移動端的瀏覽器架構和桌面端會有不同
最後:這一切都是需要代價的!代價就是佔用內存和CPU資源!但這樣就有可能拖慢你的電腦!所以見仁見智吧!
其他瀏覽器有沒有做這方面的工作呢?我不知道,或許有吧,但是我沒有找到其它瀏覽器優化方面的文獻和資料。
給大家一些瀏覽器廠商自己的官方博客,每次有了更新和提升一般他們都會發布在博客上。但說實話都不如Chrome來的這麼徹底、透明:
Chrome:http://chrome.blogspot.com/
IE:IEBlog - Site Home
Wekit:The WebKit Open Source Project
--------更新1.0:
針對樓主的幾個問題回答一下:
但 Chrome for Mac 的頁面滾動效能、耗電量、內存和 CPU 佔用、JS 載入速度都沒有 Safari 好
Chrome的確耗電量和使用內存和CPU更多,但就像我上面說的,這些消耗都是為了保證更好的瀏覽體驗,在後台做了非常多的優化動作。IE的佔用資源想必很少吧,但用IE瀏覽網頁也一定很不爽吧
JS載入速度這個並不準確,個人理解應該為JS的執行效率。我上面也提到了,這兩年IE和Safari的腳本執行引擎都有突飛猛進,在各種大會上都在展示和其他引擎執行的效率對比,並不輸於Chrome。但我想說的是,其他的瀏覽器廠商僅僅是在這一兩年追趕上來而已。如果拿倒退一些年的數據相比,Chrome還是非常有優勢的,也是它因為「快」而積累了相當一部分用戶的原因。
什麼插件是 Chrome 獨佔而且不可替代不可或缺的嗎
必須承認Safari的拓展一定不如Chrome豐富。但我覺得這可能和蘋果沒有做這方面的推廣和鼓勵開發有關(應該不會存在開發方面的技術問題)。其實Firefox的拓展做的非常好,相對Firefox,Chrome也只是後來居上而已,樓主可以不必糾結於Safari與Chrome,Firefox也是一個不錯的選擇。
--------更新2.0:
有的朋友在答案下給我留言,告訴我搜狗瀏覽器和Safari也有類似於預先載入的功能。我還沒有去關注過,所以在文章里暫不給出肯定的回答——我相信有。其實有也並不稀奇,看這麼多年的瀏覽器發展,不同瀏覽器衍生出來的優化方案都是很相似的,比如從IE8開始的Pre-loader機制(沒錯,這一次IE遙遙領先於其他瀏覽器喔):How the Browser Pre-loader Makes Pages Load Faster ;又比如使用GPU加速。
但是:所謂的優化不僅僅是這一項而已,我在開頭舉例的哪一篇文章中描述了非常多Chrome底層做的優化,在知乎上不是三言兩語能夠說清楚的,而我相信這些細節並不是大多數瀏覽器可以做到的;可能還涉及到Chrome架構的設計,有興趣的同學可以看一看整個Chrome內部的架構設計文檔:http://www.chromium.org/developers/design-documents。其中一些機制設計是非常值得借鑒的。
Chrome的優秀也不僅僅體現在對用戶的友好。如果你對google的每年I/O大會和 http://html5rocks.com 有關注的話,每年它們都不間斷會針對開發者提出一些新的開發者工具特性。這也是其它瀏覽器所已不能及的。
--------更新3.0
很多朋友都提到了flash的原因,個人理解是不是Chrome內置的Flash比較佔資源,而使用操作系統內的比較不佔? 那麼可以停用Chrome內置的flash:
請在瀏覽器地址欄輸入 chrome://plugins/ 在打開的頁面中搜索 Adobe Flash Player
把上面一個內置flash停用吧
--------更新4.0
1. 很多朋友在留言我的IE也很快呀,但請問你使用的是那個版本的IE呢?我承認IE10或者IE11或許不會比Chrome遜色,但是要知道至少在大陸境內使用率最高的仍然是IE8,IE9的市場份額甚至都不如IE6或者7,來源請參考:瀏覽器市場份額 ,那麼你再使用IE6-8之後和Chrome對比一下吧,這應該是大部分人的體驗。
2. 如果你只是做一些簡單的網頁瀏覽,比如看文章,上知乎,上百度。或許看不出什麼差別,但是如果你瀏覽的網頁是富交互類型,有非常多的腳本(甚至頁面小廣告),速度還是有區別的。這就好比5k的電腦和10k的電腦上網辦公都沒多大差別,但是玩起大型遊戲來就立馬見高低了。
3. 最後,各位總是談感覺感覺感覺……我覺得咱們還是以數據說話吧,請使用這一個網站:WebPagetest - Website Performance and Optimization Test 對你瀏覽的網頁做一些測試,可以選擇不同瀏覽器的不同版本,測試完以後可以對比一下比如DOMContentLoaded,SpeedIndex等(非常多的)參數指標,相信結果會一目了然的蟹妖。
首先想說的是,邀請我回答問題之前怎麼不看看我的簡介,作為北京 GDG 組織者,當然是 Google 一生推啊......
上面開一句玩笑,下面好好回答一下這個問題:
1. 雖然平日里主力硬體設備是 MacBook Pro + iPhone,但是相比於 Safari,Chrome 的全平台制霸還是一項剛需,手裡同時還有 Nexus 手機和平板各一台,Chrome 在同步標籤密碼數據的時候特別方便,當然也包括在家裡使用 Windows 的時候;
2. 強大的 F12 功能,之前在《如何在前端開發中增加編碼效率,這裡有十款 Chrome 擴展可以幫你》一文中介紹了很多前端語言調試插件,其實,Chrome 自帶的 F12 檢查元素窗口就相當好用,不用移動設備就能模擬相應窗口進行調試,,當然,搭配上一些插件會更加好用;
3. 多賬戶登錄功能,平時工作需要用到公司的 Google Account,而工作之外又要使用個人帳號,Safari 沒有賬戶機制這時候真是不方便,Google 的多賬戶登錄功能讓我能將生活和工作的數據區分開;
4. 在地址欄輸入你曾經訪問過的網站域名,比如 http://zhihu.com 再按下 Tab 按鍵,可以快速使用相應網站內的搜索引擎,相當於 site: 功能,非常好用。今天 Chrome 更新了,非常好看的 Material Design 風格,特別贊。
5. 無限次恢復關閉標籤頁:Cmd + Shift + T 快捷鍵能夠讓你無限次地打開曾經關閉過的標籤頁,而 Safari 只能打開最後關閉的標籤頁,有時候還是挺不方便。
6. 關於 Chrome 還有一些小細節,比如內置 Flash,用 Chrome 我就不用在電腦上安裝一個單獨的 Flash 了;還有離線時的那個小恐龍遊戲,真是滿滿的情懷感(誤)。
7. 最後再說一點,也是最重要的一點,Chrome 上面擁有非常豐富以及強大的插件,並且,多平台上的 Chrome 能夠很即時地同步這些插件。這裡也搬出之前我的兩個回答:
- 《如何優雅地使用 Chrome?》
- 《有哪些鮮為人知卻非常有意思、好用的 Chrome 擴展?》
這裡就不再對這些插件一一介紹了......再推薦一下我司 Web 開發的掘金 Chrome 插件,專為開發者、設計師和產品經理量身定製,能夠幫助你快速發現優質的開發、設計或者產品方面的乾貨,減少篩選成本。可以戳右邊下載:掘金瀏覽器插件。
性能優勢倒是其次的,當你所有的流量數據,密碼,收藏夾存儲於Chrome伺服器時(更可惡的是這傢伙全平台可用)你實在想不出有什麼辦法逃離這個瀏覽器。
如果有辦法,請聯繫我!
不,在今天(2014.07.20),Safari, Chrome, Firefox, IE 的最新版本的速度差異已經不是用戶在日常使用中能輕易感受得出來的了。
但是在Chrome剛出現的時候,它的速度是快得各平台所有其他瀏覽器在它面前都像是一坨屎。快得我寧願拋棄Firefox完善的插件生態拋棄超級強大的Firebug換用Chrome. 嗯,我是說各平台,在很長時間裡Chrome官方發布只有Windows版本,但當時Chromium有一個有各平台版本的daily snapshot倉庫,我就用了好長時間的這樣的非正式發布。Chrome能迅速佔據這麼大的市場份額,說白了確實就是一個字:快。
有這樣的競爭壓力,其他瀏覽器才開始不斷追趕。包括Safari, 也要不斷提高Javascript引擎速度,換用多進程結構等等才能趕上同是基於WebKit的Chrome的性能。競爭的結果,就是各瀏覽器性能大幅提高,達到不相上下的水平。
但人是懶惰的,「不相上下」並不足以讓我拋棄用慣了的Chrome. Chrome的發跡史說明,即使在競爭對手壟斷市場(Chrome還遠遠沒到當年IE的程度)的時候,只要能把產品做得革命性地好,用戶也會無法抗拒這樣的吸引力換用新產品。如果哪天其他瀏覽器有這樣的革新,我相信包括我在內的大量Chrome用戶都會拋棄Chrome投奔新瀏覽器。首先 chrome 幾乎是全平台制霸的:MacOSX, Ubuntu, Windows, iOS(iPad/iPhone), Android(平板或者手機)。這意味著當你有多個設備的時候很方便設備之間同步,不但是書籤,還有搜索記錄,還有瀏覽的記錄,等等。
其次 chrome 的網站兼容性遠遠遠遠好於 safari,許多(真的是許多)用 safari 無法正常瀏覽的網站用 chrome 都能夠正常瀏覽。
在這兩個優勢面前,性能什麼的根本就不重要,至少我從來沒有感覺到 safari 跟 chrome 有可以察覺的性能差距。性能我不知道如何精確的去評價,也許對某些人來說省電也是好的一個性能,更何況主流的瀏覽器在速度方面不會相差太多。
其實大部分人不會在意性能,更多的是「順手」。
而「順手」的定義很寬泛,對我來說就是某個不讓說的擴展,對其他人來說就是其他的某些擴展或者其他的功能。同樣有的人電腦差些,覺得Chrome會卡,換了別的覺得不卡,就一直用別的了,這也是一種「順手」罷了。
最後,其實Chrome最大的特點優點就是跨平台,很多會說這個優點,其實大部分人都用不到。因為mac沒有IE11(
對我個人來說,最核心的原因當然是 Safari 擴展不夠全/不夠好/定製化程度不夠高。
除此之外,單從瀏覽器功能而言,Chrome 至少有以下功能是 Safari 目前缺乏的:
- 無限次恢復關閉的標籤頁,快捷鍵 Cmd + Shift + T。Safari 下使用 Cmd + Z 只能恢復一次,並且常常與網頁文本框的撤銷編輯快捷鍵衝突。
- 自動添加使用過的搜索引擎,並可通過地址欄快速搜索(如下圖)
此時按下 Tab 鍵,即可直接鍵入關鍵詞,按回車鍵後直接跳轉到搜索結果頁面,省去了打開 http://youku.com 的時間。
- 右鍵搜索圖片,查找圖片出處時非常方便
- 對開發者而言,調試功能更強大:
每一次瀏覽器的更換都是需要驅動力的。2008年,Firefox已發布四年,界面依舊經常出問題,插件之間會不兼容,一個Flash死掉導致整個瀏覽器崩潰,大量js腳本的頁面運行不流暢,然後Chrome橫空出世,多進程隔離頁面和插件,強大的V8引擎讓Gmail不再卡頓。這時候,雖然Chrome依然沒有增加擴展功能,但是人們為了速度和穩定性而轉向Chrome。
如今Firefox和Safari也趕上來了,可換到Safari的驅動力在哪裡呢?省電?Chrome有讓MBA續航從10小時變為2小時嗎?滾動效能差?有差到不能忍受嗎?佔用更多內存和CPU?但依然沒有佔滿內存和CPU使得電腦無法運行吧。我現在Chrome開了370個頁面,還是一樣跑著。
經過這些年的進化,Chrome已經成為了跨平台軟體,更多人習慣於在多個地方使用Chrome,而互相之間可以即時同步歷史記錄收藏夾擴展之類的。Safari能做的,只有在OS X電腦端和iOS移動端同步一些東西。Safari的執行速度也上來了,但功能依然欠缺。比如我瀏覽了一些網頁,想把標籤頁拖動一下,Safari也能做,但不比不上Chrome的效果好。如果想拖動多個標籤頁,Safari則根本無法完成。把域名里的dot輸入成句號,Safari也無法給你替換過來。想在地址欄用不同的搜索引擎搜索東西,就能知道Chrome的方便了。
所以,Chrome大業已就,Safari只能淪落到IE的命運,作為系統默認瀏覽器偶爾使用一下。我覺得不比Safari多啊,我的chrome就是必須用到flash的時候才打開
我相信如果蘋果把 Safari 也搞得和 Chrome 那樣完美橫跨各個平台,效果就不會是那樣了。說白了,還是懶。我在一個平台下的 Chrome 被我調教得服服帖帖,到另一個平台下為什麼不用原配而要說服自己接受別人呢?
當然,這事兒估計蘋果乾不出來的。為了他們自己的生態。只是為了不用在系統里裝個Flash
只是為了用我那些熟悉的插件
差不多也僅此而已了。
不然我可以有Safari更好的滾動性能,更好的動畫效果,更好的手勢支持,比Chrome更好的PNG Alpha通道縮放演算法
我是為了全平台同步書籤網頁!
甚至我的keep提醒還可以多平台同步!
我在國外,用chrome可以看裝插件看因為版權不能看的美劇和電影。唯一動力
以前在win系統用chrome (chrome出來之前用的是什麼我居然給忘記了,反正不是ie)
換成mac後改用safari
可是有一天safari升了個版本,調試功能變得極其難用,於是又換回chrome了
chrome的同步書籤非常方便
我倒覺得論頁面滾動的細膩程度 OS X 上更勝一籌,大概是有些 API 沒有開放的原因吧。
為了插件/黑科技
chrome 看 flash,動不動80,90度,safari 是70度
chrome 禁用自身的flash插件換成系統的,溫度也是70度,但是整個畫面模糊,感覺像是看非視網膜應用擴展生態環境好 chrome除了觸摸板縮放蛋疼以外都不算是大問題
還有個環境的問題,在國內要搭梯子+switchysharp,看個視頻沒有屏蔽軟體就要忍受「油膩的師姐 我的劍就是你的劍」之類的逗比廣告,用chrome的各種十八般武藝更方便一些。
還有奇怪的是用了SS梯子以後,總覺得chrome打開google速度快一些(不知道是不是心理作用)
看到很多人說書籤同步的問題 提供這個chrome擴展自動同步icloud的插件下載:https://chrome.google.com/webstore/detail/icloud-bookmarks/fkepacicchenbjecpbpbclokcabebhah (可能需要windows版的icloud控制面板支持)
這個插件沒法靠應用商店搜索找到 只能點鏈接進去下載 不知道為什麼。。。多年前在微博上看到的圖片,偷了過來,如果不是因為chrome默認安裝C盤還是願意一下的。用Firefox多年了,也嘗試過chrome但是並沒有感覺快多少,所以就放棄了,另外,關於插件,看到網上說chrome有什麼比較牛叉的插件,到FF裡面找一下也能找到,所以,一直堅持並享受的使用Firefox~~~
推薦閱讀:
TAG:macOS | GoogleChrome | Safari |