时间:2020-11-23 来源:u小马 访问:次
谷歌一直在尝试减少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中。