谷歌决定禁用Windows10版本2004中的一项功能,该功能允许Chrome和Microsoft Edge浏览器使用更少的RAM。
Windows 10允许包括Chrome在内的Win32应用程序访问段堆API,以允许应用程序减少内存使用,但正如TechDows发现的那样,Chromium工程师在发现Chrome 85对CPU使用率有负面影响后,目前已决定关闭该功能的默认设置。Chrome 85应该会在8月达到稳定状态。
微软上个月吹嘘说,在2020年5月的更新中,Edge使用的内存比没有段堆时最多减少了27%。Chrome开发人员在Windows102004及更高版本上对Chrome采用了它。
CPU问题是由英特尔工程师发现的,他发现当Chrome使用段堆时,会导致在采用英特尔酷睿i9-9900K处理器的PC上进行基准测试时性能显著下降。谷歌发现,根据基准,CPU性能下降了10%到13%。
微软为内存和CPU之间的权衡进行了辩护,但承认可以更好地实现,以减少对CPU性能的影响。
用一种资源交换另一种资源是很常见的做法。更常见的情况是,它增加了内存使用量,从而减少了CPU使用量。微软的一名员工写道,在这种情况下,它增加了CPU使用量,从而大幅减少了内存使用量,或者更准确地说,是提交。
要减少对CPU的影响,需要对整个浏览器代码库进行重大更改,微软的Windows团队正在研究它是否可以提高段堆的性能。
这位微软员工辩称,短期内,这是一种资源与另一种资源的很好的权衡,因为内存/提交使用是浏览器用户的一个重大痛点。
然而,Chromium开发人员希望看到更多关于使用段堆的Chrome可能影响的证据。
Chromium会员布鲁斯·道森写道:虽然我从实验室测试中听到了关于节省内存的令人鼓舞的消息,但在20H1有干净的遥测数据和实验室测试之前,我看不到有任何方法可以让这一功能保持不变,而这两种情况都不会及时发生在M85上,Chromium成员布鲁斯·道森(Bruce Dawson)写道。
因此,计划在M85中禁用此功能(从而为我们提供另一个遥测数据点),并在将来重新考虑。
CPU成本(速度计2.0降低了10%,CPU/功耗增加了13%)太高了,我们无法承受。