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,因此在比较老旧的Windows7系统上依然会将文件读取为数据/MapFile。工程师表示,代码提交已合并到Chromium中。
目前尚不清楚基于Chromium的浏览器产品何时会实施这些更改,以及整体内存或CPU使用率是否会有任何明显的变化,但即便有一点改进,也可能会使低端PC上的情况稍好一些。
相关文章
网友评论(共有 0 条评论)