最近除了各大瀏覽器都推出新版,支援硬體加速的 Opera 瀏覽器也終於現身!Opera Software 在 2 月 28 日推出了最新的 Opera 11.50 實驗室版,內建支援硬體加速功能,而且測試結果非常亮眼。在 Opera 推出這個 WebGL 版本 Opera 瀏覽器之後,四大瀏覽器基本上都支援了硬體加速,雖然每一家用的方式都不盡相同,不過都讓你瀏覽網頁的速度快得和飛一樣。
Opera 11.50 和現有的 Google Chrome Canary、Firefox 4.0 RC1 和 WebKit Nightly for OS X(Windows 版不支援)一樣,都以 OpenGL 做為 3D 加速的技術。而且標榜他們將會是全平台支援硬體加速的瀏覽器,Opera 不但和 Firefox 一樣在 Windows、Mac OS X 和 Linux 三大系統都支援硬體加速,就連各個手持裝置手台和連網電視都預計會支援 WebGL 硬體加速。
Opera 11.50 還是非常初步的 Alpha 預覽版,因此不是所有功能都正常,不過以目前版本亮眼的測試數據來看,Opera Software 交出一張非常好看的成績單。不但大家常用的 FishIETank 測試有著 1000 隻魚/60FPS 的能力,而且其他的測試和展示結果大多有著讓人滿意的結果。
Opera 11.50 目前還只提供 Windows 預覽版,稍後 OS X、Linux 與其他平台的版本將接著推出。目前它也只支援開放平台的 WebGL 加速,但 Opera Software 表示之後也會加入支援微軟 Direct3D 加速的後端,讓 Opera 也能支援 D3D 的硬體加速功能。
▲在常用的 IE9 Test Drive 中的 FishIETank 測試,Opera 11.50 可以穩定跑出 1000 fish / 60 FPS 的成績。
▲在 Google 提供的 WebGL Experiments 中,Opera 11.50 在 Field 測試在「Many」設定下有 60FPS 的成果,不過到了「Lots」設定時,FPS 卻離奇地降到 7FPS。
▲而 Opera 11.50 在 Mozilla 提供的 Hardware Acceleration Test 中,也有 59FPS 的流暢度。
▲Opera 11.50 其他IE9 Test Drive 測試成績都有水準以上的表現。
(下一頁 硬體加速是什麼?)
什麼是硬體加速?
據 Mozilla 的說法,硬體加速分成內容加速和構成加速兩個階段:
內容加速(Content Acceleration)
指的是 CSS 邊界、文字和圖片等網頁基本內容經由硬體加速,並可以加快 2D Canvas 的處理速度。
構成加速(Compositing Acceleration)
這是指將已經渲染(render)的物件組成最終網頁的過程,其中也包含了像是淡入和淡出這種 CSS 特效與 3D 物件的組成,支援構成加速的瀏覽器可以用更快的速度處理最終網頁的顯示,並使特效更為流暢。
不過根據微軟的說法,還必需加上桌面構成加速(Desktop Compositing Acceleration)才能稱為 Full Hardware Acceleration。桌面構成是指網頁顯示在螢幕上的最終構成階段。
▲微軟認為要三個階段都能啟動硬體加速才能稱為「Full Hardware Acceleration」(圖片來源:IEBlog)
硬體加速的技術
目前每個瀏覽器使用的硬體加速都不盡相同,都採取對各自最有利的架構建立自己的瀏覽器硬體加速功能。目前常見的是微軟的 DirectX加速功能,包含 D3D、D2D 和 DirectWrite,另一個則是 Khronos 的 OpenGL 加速。使用 DirectX 的好處是不需特定的顯示卡驅動,因為已經包含在 Windows 中了;而 OpenGL 則是開放式標準,不像 D3D 只能在 Windows 平台上使用,在全平台都可以看到 OpenGL 支援,甚至連智慧型手機上都可以使用呢!
Opera 和 Firefox 4 RC1 與 Chrome 一樣,都採用 OpenGL 做為構成加速的技術,不過在 2D 內容物件的加速上,Firefox 4 採用微軟的 Direct2D(Windows平台)、Quartz(OS X)或 XRender(Linux平台)處理 2D 物件的組成,而 Google 和 Opera 目前則全程使用 OpenGL 加速所有可加速的元件。Google 採用 Google Angle 對應 D3D 的功能,而 Opera 在其開發部落格的文章中表示,將來他們將在Windows平台下支援 D3D 加速,以彌補僅有特定顯卡支援 OpenGL 的缺點。
硬體加速的限制
目前常用的硬體加速平台都有缺點,DirectX 方案的硬體加速只能在 Windows 平台上使用,其中 D2D 和 DirectWrite 更是只在 Windows Vista/7 平台下才支援。而 OpenGL 雖然有 Google、Firefox 和 Opera 等眾多瀏覽器支援,而且能夠跨平台,不過不是每一張顯卡都提供支援 OpenGL 的驅動程式,使得 OpenGL 的發展受到限制。
(下一頁 瀏覽器硬體加速比一比)
瀏覽器硬體加速比一比
IE9 RC
身為微軟推出的瀏覽器,IE9 RC 當然是完整支援 DirectX 加速的功能。它使用 D2D 加速構成內容、D3D 負責網頁組成,另外 DirectWrite 則加速文字的構成,並利用 ClearType 讓瀏覽器中的字體更平滑美觀。不過由於只有新版 DirectX 支援 D2D 和 DirectWrite,因此 IE9 當然不意外地就只支援 Windows Vista/7 平台。
▲ IE9 RC 在我的硬體設置下,有 1000fish/44FPS 的能力。
Firefox 4 RC1
Firefox 4 RC1 在不同的平台上會使用不同的加速方式,使得 Firefox 4 RC 1 具有跨平台的加速能力,其中OS X 上所使用的 Quartz 是使用 CPU 運算,而沒有使用 GPU 加速。詳細使用的加速技術請參考下表:
作業系統 | Linux | Windows XP | Windows Vista/7 | Mac OS X |
內容加速 | XRender | 無 | Direct2D | Quartz |
構成加速 | OpenGL | Direct3D | Direct3D |
OpenGL |
▲Firefox 4 RC1 的硬體加速預設是開啟的,在 FishIE Tank 測試中有 1000Fish/49FPS 的能力。
Google Chrome
Google Chrome 則是堅持使用 OpenGL 技術,在 Windows/OS X/Linux 三個平台都支援 OpenGL 構成加速,為了解決顯卡驅動的問題,在 Windows 平台下更可以使用 Google Angle 硬將 OpenGL API 對應到 DirectX 9 API,讓你不需使用具有 OpenGL 驅動的顯卡也可以支援 OpenGL。至於內容加速的部分,Google Chrome 就算在 Windows 平台下也不使用 D2D 加速,而是用自己的繪圖引擎 Skia 硬上,僅靠硬體加速 2D canvas 的部分。
▲Chrome 瀏覽器即使版號到了 11,在硬體加速開啟的情況下,FishIE Tank 的表現也只有差強人意的1000Fish/24FPS。