跳到主要內容

[轉載] 手機端DataURI比外鏈資源慢6倍

原文連結:前端觀察

網頁中使用DataURI會多消耗53%左右的CPU資源,記憶體多出4倍左右,耗時平均高出24.6倍
mobify最近做了一系列手機端的測試,測試顯示平均下來,DataURI要比簡單的外鏈資源要慢6倍


DataURI的方法最初被設計用於在email中嵌入資源
但是後來被介紹可以用於減少HTTP請求,從而提升網站性能
但是其實事實上卻有些雞肋

圖片等資源轉換為DataURI所用的Base64編碼之後,檔案大小增加了好多(通常50%-300%)
如果服務器端啟用Gzip壓縮,圖片實際大小基本上可以達到轉碼之前的大小
瀏覽器需要將Base 64解碼以後才能渲染,而解碼過程需要消耗不少的記憶體和CPU
無論你是否將使用了這些Base64的文件(HTML,CSS等)cache到本地
瀏覽器在渲染相關頁面的時候,都要重新解碼,消耗CPU和記憶體。
從上圖可以看出,Android低端手機的性能差的驚人
iOS 6和Android 4.2的高端機看起來還可以,但是DataURI也要慢好幾倍

所以其實總體來說,DataURI的方法要慎用,對於Webapp,更推薦更有效的利用各種cache技術
文中數據來自於Mobify,更多測試細節也可以前往訪問瞭解

留言