微軟協助改進Windows上的Google Chrome內存使用
Google Chrome是Windows PC平台上最為知名的“內存老虎”應用,一些內存配備較少的低端機型上,瀏覽器時常會發生啟動慢,打開網頁延遲和卡頓的問題。Chromium社區的bug帖子解釋說,在啟動過程中,Chrome DLL會被ImagePreReader預讀。在高端計算機上這並不是問題,但chrome.dll和chrome_child.dll的預讀時間在配置較差的機型上最多要用到1.33秒來預讀,這就是啟動慢和卡頓的根源。
微軟似乎也在這個領域為Chromium做出貢獻。微軟工程師在Chromium上提交的改進旨在解決此問題,也就是從根源上改進瀏覽器的內存管理。
微軟介紹,他們更改了進程內預取程序以將代碼加載到Image頁面,而不是MapFile頁面以節省CPU並提高內存使用率,並且在啟用較大文件的OS PreFetch的OS構建上不執行任何操作。
需要注意的是,這需要新版操作系統中的PreFetchVirtualMemory API,因此在比較老舊的Windows 7系統上依然會將文件讀取為數據/MapFile。工程師表示,代碼提交已合併到Chromium中。
目前尚不清楚基於Chromium的瀏覽器產品何時會實施這些更改,以及整體內存或CPU使用率是否會有任何明顯的變化,但即便有一點改進,也可能會使低端PC上的情況稍好一些。