






如今,移動設備和PC上的現代Web瀏覽器支持HTML 5,包括HTML 5畫布渲染功能。本文教你如何通過一番測試和調整,發揮瀏覽器的最大功效。
當今的瀏覽器絕不僅僅是通向萬維網的一扇窗口:瀏覽器開發人員已把該軟件變成了本身就很復雜的應用平臺。但是瀏覽器又與硬件平臺不一樣:確切地說,瀏覽器作為人們可以通過眾多平臺來訪問的虛擬環境來運行。比如說,你可能在Windows、Mac OS、Linux和安卓等設備上裝有谷歌的Chrome瀏覽器。
目前這一批Web瀏覽器:Chrome、火狐、Opera、Internet Explorer和Safari支持眾多標準,包括超文本標記語言(HTML)的最新版本:HTML 5。HTML 5是HTML雄心勃勃的一種擴展,結合了眾多功能和特性。不過該標準仍在變化之中,萬維網聯盟還沒有最終敲定。HTML 5中的一些重要新功能包括:畫布渲染、與可擴展向量圖形(SVG)更緊密地集成以及視頻和音頻標記。這些新元素是為了讓Web開發人員更容易呈現和管理多媒體內容而特別設計的。HTML 5目前缺乏處理3D圖形的一項內置標準。
無論何時出現新的競爭平臺,我們自然想比較一下性能。畢竟,用戶想要最成熟、響應最迅即的環境來運行各自的應用程序,無論那些應用程序用于辦公、娛樂還是教育。問題在于,Web應用程序本身也在不斷變化之中,正如Web瀏覽器方面進行基準測試的情形那樣。
本文不是要告訴諸位哪款瀏覽器的速度最快,或者什么硬件可能最適合那些瀏覽器——這在以后會有介紹。今天,主要介紹對瀏覽器進行基準測試的復雜性,關注基準測試方面的幾個例子,并且幫助你明白說到這些新的虛擬平臺,性能測試目前處于什么樣的狀況。看完本文后,你就知道如何對瀏覽器進行基準測試,并針對HTML 5應用程序對瀏覽器進行優化。
我們對什么進行基準測試?
性能測試有時充滿了變數;就Web瀏覽器而言,情況來得更為復雜。問題的一方面在于,這個平臺相對不大成熟:HTML 5畢竟仍是一項新出現的標準。因而,就算應用程序使用了這項標準,也只是使用了其中的一部分。另一個主要問題是,現有的基準測試如何進行:總的來說,它們測試的對象有點不一樣,所以你需要運行幾趟,才能清楚了解你的瀏覽器性能怎樣。比如說,Futuremark的Peacekeeper瀏覽器基準測試自稱主要是一種JavaScript基準測試,但是它在測試中充分使用了HTML 5畫布和視頻。
此外,同一種瀏覽器在不同的操作系統上可能表現不一樣。比如說,蘋果Safari的Mac OS版本運行起來要比Windows版本來得順暢(這并不讓人很驚訝)。
你在開始考慮基準測試時,先要問自己幾個關鍵問題。選擇哪種平臺?你是想對瀏覽器性能進行基準測試,還是對硬件進行基準測試?你是在臺式機系統、筆記本電腦、平板電腦還是手機上運行?所有這些問題將有助于確定你需要運行哪種類型的基準測試。我在這里著眼于臺式機瀏覽器的性能,但要牢記一點:Chrome在配備節能GPU和ARM處理器的安卓平臺上電腦運行,其性能會與它在配備獨立GPU的臺式機系統上不一樣。
很棒的是,我們現在有辦法在多個硬件平臺上進行基準測試,盡管有些地方需要注意。由于Chrome和火狐可以在許多不同的操作系統上運行,你可以用它們在那些平臺上測試性能。當然,編譯和構建代碼的方式會不一樣;瀏覽器在某一種操作系統或硬件平臺上運行,勢必需要一些自定義代碼,這可能會影響性能。但這是良好的第一步。
我會關注幾種場景,它們都使用臺式機瀏覽器。首先,我會分析三款瀏覽器在Windows 8消費者預覽版下運行時的性能。我之所以選擇Windows 8,主要是由于很想知道Internet Explorer 10的性能比IE 9有所提升的說法是不是屬實。
訪問Asteroids等HTML 5測試頁面,評估你的瀏覽器處理HTML 5的能力有多好。
除了檢查瀏覽器外,我還更換了顯卡。第一輪測試時,我使用了AMD Radeon HD 6970;第二測試時,則使用了英偉達GTX 570。兩者都是參考顯卡,所以它們在默認時鐘頻率下運行。
最后,只是為了比較,我在一臺相當典型的Windows 7筆記本電腦上進行了同樣的基準測試。
基準測試
現在有大量的HTML 5和JavaScript性能測試:我選擇了看起來很出色的三項測試。三者當中,只有Futuremark的Peacekeeper其工作方式類似旨在評估臺式機性能的標準基準測試。Peacekeeper運行一系列測試,包括網頁渲染、帶WebGL的HTML 5、HTML 5畫布和HTML 5視頻等測試,它最后得出一項分數。
Futuremark的Peacekeeper測試一系列廣泛的Web渲染功能,包括HTML 5的各項功能。
Asteroids(http://www.kevs3d.co.uk/dev/asteroidsbench/)看起來是3D測試,但實際上卻是2D HTML 5畫布渲染測試。插畫很漂亮,它基于用HTML 5開發的實際游戲。與Peacekeeper一樣,它也得出一項分數,但是還會得出平均幀速率數字。
第三項測試是Impact HTML5基準測試(http://html5-benchmark.com/)。該測試同樣基于實際的HTML 5游戲;開發者在個人博客上承認,Impact“測試一種非常特定的使用場合:用HTML 5元素渲染的順暢運行的游戲。”
HTML5基準測試運行橫向卷軸射擊游戲關卡 ,純粹在使用HTML 5的這種類型的游戲中測試性能。
對瀏覽器進行基準測試
一個重要的說明是,就基準測試而言,你需要可靠的寬帶連接。我說的不是原始帶寬,而是可靠性。你在運行基準測試期間最不希望遇到的事就是,系統因DNS錯誤或其他某種網絡問題而運行不暢。
與任何性能測試一樣,你需要一套干凈的系統。不過在這里,那與通常意義上的干凈系統有點不一樣:當然,在硬件基準測試中,你需要干凈安裝的操作系統;但是就Web瀏覽器測試而言,你還需要確保瀏覽器本身是干凈的。這個過程需要清理瀏覽器的幾個不同方面。
?卸載現有版本,重新安裝一份。由于如今的瀏覽器可以自動更新,這一步并非完全必要,但重新開始仍是最佳做法。
?你在安裝時,確保沒有無意中安裝額外的工具欄。有時候,瀏覽器在安裝時攜帶各種作為選件的工具欄,如果瀏覽器不是來自官方來源,更是如此。你通常得選擇不安裝,確保安裝程序沒有把這些工具欄添加到瀏覽器。
?清除所有附件和插件。單單在選項設置中檢查瀏覽器的插件頁面不夠好。如果你在Windows上運行,還應該看一下Windows添加/刪除程序控制面板,因為一些瀏覽器附件需要像平常的應用程序那樣來卸載。
?確認你的網絡和顯卡驅動程序版本最新。
?你在運行基準測試時,只讓一個標簽頁開著(除非基準測試本身打開了額外的標簽頁)。這些測試大多數不運行嚴重拖累性能的Flash廣告或后臺動畫,但是你其他標簽頁中的網站可能會運行。
Windows 8瀏覽器基準測試
在我進一步給出分數之前,先簡要介紹一下我所用的Windows 8系統:
英特爾酷睿i7-3820,主頻為3.6GHz
16GB DDR3-1333內存
技嘉X79-UD7主板
英特爾250GB固態硬盤
AMD Radeon HD 6970參考顯卡,安裝了Windows 8驅動程序
Windows 8消費者預覽版
不妨看一下我使用前面提到的基準測試時得到的性能圖表。
使用這些特定的基準測試發現,截至版本17,Chrome似乎比Windows 8消費者預覽版自帶的IE 10更快。區別相當大,但不是特別大。另一方面,火狐11在所有情況下都落后,表現相當差勁。
改變硬件
好了,現在我們了解了這三種不同的瀏覽器在Windows 8消費者預覽版中有怎樣不同的表現。如果我們改變一下硬件,又會出現什么樣的情況?在這里,我拆下了Radeon HD 6970,換上了英偉達GTX 570顯卡;這兩種顯卡價格大致相當。由于現代的Web瀏覽器現在都能發揮GPU的最大功效,我預計使用不同的圖形硬件會帶來一些差異。
如你所見,硬件的確給HTML 5基準測試在瀏覽器中的表現有多好帶來了影響。據這一組測試顯示,英偉達GTX 570看起來在許多瀏覽器應用環境中只比Radeon HD 6970快一點,在Chrome中更是如此。差異比我之前提到的那些差異要小,但是它們仍能幫助你了解哪款瀏覽器最適合在你的特定系統上運行HTML 5應用程序。
典型的Windows 7筆記本電腦
我還在Windows 7上評估了瀏覽器的性能,結果大不一樣。我在一臺很典型的現代筆記本電腦:惠普Envy 14 Spectre上運行了上述的同樣測試。雖然這款筆記本電腦外觀很出色,但是里面的部件很普通,包括英特爾酷睿i5處理器(1.6GHz基礎頻率,2.3GHz最高加速頻率)、4GB DDR3內存和集成的英特爾HD Graphics 3000芯片組。下面是這三款不同瀏覽器上HTML 5性能的情況。
如你所見,平臺方面的差異肯定會影響瀏覽器的性能結果。在我的測試中,在Windows 7中運行Peacekeeper測試時,微軟Internet Explorer 9的性能差強人意,是在專門的游戲基準測試方面表現還過得去。在Windows 7中運行的火狐在Impact性能測試方面大有好轉,但是仍落后其他瀏覽器。可能最讓人驚訝的是,谷歌的Chrome在Windows 7中的HTML 5測試方面的表現相對來說完全不如在Windows 8中的表現。
該你上場了
與任何平臺測試一樣,你的結果與我的會不一樣。各種瀏覽器或硬件平臺上的性能會不一樣,這取決于操作系統、底層硬件、插件及其他變化因素——有些因素會有相當大的影響。此外,瀏覽器也在以驚人的速度發展,所以今天的贏家明天有可能成為輸家。
所以對這些測試結果不可全信,并且牢記一點:我只是在一種硬件上運行了一小批測試。你可以針對鐘愛的瀏覽器試著運行這些基準測試,然后相應調整軟硬件。你現已知道了如何進行合理的基準測試,所以很容易看到新硬件(如顯卡)或新軟件(如Windows 8)會起到多大的影響。