一直以來 Google Chrome 擁有了很大的市占率,但是這幾年開始被其他的瀏覽器瓜分了一些地盤,最大的問題莫過於 Chrome 被冠上 吃記憶體怪獸 的這個名號,而終於在 Chrome 55 獲得了不錯的解決
記憶體改善
一位 Prerender 整理了 Chrome 54 and 55 的記憶體使用差異「Chrome 55 uses ~30% less memory than Chrome 54」
這位作者使用 Docker container 進行測試,並且給予 300MB 測試 Weather.com 這個網站,在 Chrome 54 大於 340MB 造成 container 記憶體崩潰,而在 Chrome 55 大幅改善僅使用 250MB 左右,前後差異了 26 % 以及其他的測試。
從 Google 的說法是 Chrome 55 的 V8 JavaScript 進行了記憶體的優化「Fall cleaning: Optimizing V8 memory consumption」主要調整 garbage collector 的回收方式。
JavaScript Heap Size Reduction
There is an inherent trade-off between garbage collection throughput, latency, and memory consumption. For example, garbage collection latency (which causes user-visible jank) can be reduced by using more memory to avoid frequent garbage collection invocations. For low-memory mobile devices, i.e. devices with under 512M of RAM, prioritizing latency and throughput over memory consumption may result in out-of-memory crashes and suspended tabs on Android.
Zone Memory Reduction
In addition to the JavaScript heap, V8 uses off-heap memory for internal VM operations. The largest chunk of memory is allocated through memory areas called zones. Zones are a type of region-based memory allocator which enables fast allocation and bulk deallocation where all zone allocated memory is freed at once when the zone is destroyed. Zones are used throughout V8's parser and compilers.
實際使用 Macbook Pro , Windows 10 測試有明顯感受到開啟頁面的速度與可容納更多的分頁有提升許多。
預設停用 Flash,啟動 HTML5 支援
這個東西其實講超久了,只是都採用慢慢減少支援等這種溫和的方式,在此次改版直接就預設停用 Flash,並且正式預設開啟對 HTML5 的支援,並且給予 Top 10 的網站一年改進時間,我想這可能不見得會是最後通牒,但是一個技術時代進步的開始。
而在 Flash 最大影響的 Adobe 也開始將 Flash 改為 Animate 以 HTML5 為基礎的動畫工具。
Orignal From: Chrome 55 的重大改革:記憶體、Flash停用、HTML5的時代
沒有留言:
張貼留言