Google計劃用自己的方式在Windows 10上修復Chrome吃內存的問題
谷歌一直在嘗試減少Windows 10上Chrome瀏覽器的內存使用量,而Chrome 87最近也進行了重要的性能升級。不幸的是,Chrome仍然會消耗大量的內存,但谷歌現在聲稱,它正在研究另一個非常有用的變化,可以減少內存使用量,並希望摘掉“內存吞噬者”的帽子。
Chrome的工程師們正在研究”PartitionAlloc FastMalloc”特性以保持某些進程最壞情況下的活動內存使用率低於10%。換句話說,谷歌將在RAM管理和緩存方面做得更好,以提高瀏覽器的整體性能。谷歌原本計劃使用Windows 10的新功能”SegmentHeap”,這是一個更先進的內存堆實現,以降低應用程序的整體RAM使用量。
微軟聲稱,它觀察到基於Chromium的Edge在使用Segment Heap後,內存使用量大幅降低了27%,隨後谷歌也確認願意在Chrome瀏覽器上採用該功能。
但現在看來,谷歌已經徹底放棄了’SegmentHeap’功能,因為微軟無法提供”對堆類型的控制”。在Windows 10中,如果沒有對堆類型的控制就無法只為某些進程或只為某些堆或兩者都啟用分段堆,何況Segment Heap還造成了CPU密集型進程的”性能倒退”,因此谷歌已經放棄了這個項目。
正如我們上面提到的,谷歌現在計劃使用一個名為PartitionAlloc FastMalloc的新功能來代替Segment heap。
這個功能基本上是一個內存分配器,以同時提高瀏覽器的安全性和性能。谷歌將通過啟用專用分區來改善瀏覽器的緩存。啟用PartitionAlloc後,Chrome瀏覽器中的操作次數將得到優化,而且在分配資源時,它的速度也被設計得極快。根據提交的內容,谷歌已經在Chrome Canary中啟用了這一功能,並可能在明年向用戶發布。
微軟在Github帖子中指出,他們還在對Segment Heap進行改進,以解決性能問題。這些改進將惠及所有瀏覽器,微軟將通過每月累積更新的方式,將改進版的Segment Heap回傳到舊版Windows 10中。