IT之家12月23日消息 外媒 Windows Latest 報導,隨著 Windows 10 版本 2004 的發布,微軟對作業系統中的 「Segment Heap」內存管理功能進行了改進,並增加了對 Web 瀏覽器等桌面(Win32)程序的支持。
「Segment Heap」也被引入 Chromium 開源項目,谷歌計劃用這個功能來修復臭名昭著的 Chrome 瀏覽器的內存佔用問題。不過,谷歌團隊現在決定在 Chrome 瀏覽器中禁用新的 「Segment Heap」實現,他們現在將啟用 「ParitionAlloc-Everywhere」。
ParitionAlloc-everywhere 功能從 8 月開始就在開發中,現在看來正在穩步推進。根據一份文件顯示,PartitionAlloc-Everywhere 有其自身的好處:減少了 Chrome 瀏覽器中的內存使用、分配器和提高了安全性。
IT之家獲悉,這使得谷歌 Chrome 更有效地管理內存,從而降低內存的使用量,同時它也將減少潛在的安全問題。
谷歌 Chrome 瀏覽器的安全性將使用 「MiraclePtr」來提高,這需要 PartitionAlloc。
谷歌強調即將到來的變化的文件目前是內部測試的,很難預測 Chrome 瀏覽器何時會得到必要的變化,但更多的細節可能會在 2021 年上半年分享。
谷歌將修復 Chrome 瀏覽器崩潰的問題
除了內存使用的改進,谷歌表示,測試表明,如果 Windows10 的 TerminateProcess 功能用於更多的進程類型,可能會導致更少的瀏覽器崩潰。
谷歌指出,乾淨利落地退出一個進程是困難的,也是代價昂貴的,尤其是對於複雜的軟體。
Chrome 瀏覽器已經逐漸轉向使用 TerminateProcess 來處理更多的進程類型。該公司提出了一項新的改變,將在 Headless 瀏覽器中啟用 TerminateProcess,這可能導致更少的瀏覽器崩潰。
「這將避免 Windows 上一些實用程序進程崩潰。我認為將這一政策應用於所有 Headless 進程類型是一個值得嘗試的做法。TerminateProcess 已經在許多進程類型中幫了大忙。」谷歌軟體開發人員 Bruce Dawson 解釋說。
微軟和谷歌都認為減少 Web 瀏覽器的 RAM 內存使用量是很重要的,但像 Segment Heap 和 ParitionAlloc 這樣的改進會根據你的機器實現而有所不同。
值得注意的是,微軟已經啟用了 「現代堆實現」來減少 Edge 內存使用量,而 Edge 團隊正在研究另一個名為 「睡眠標籤」的功能,帶有額外的內存管理改進。