正如vivaldi开发人员所揭示的那样,windows 10中内置的安全功能使基于chromium的浏览器在测试环境中的速度降低了三倍多。yngve pettersen在博客文章中解释说,开发人员在将windows 10测试人员添加到windows单元测试集群时发现了这个性能问题。
“我们立刻发现了性能问题。以前需要大约100分钟才能运行的测试套件现在需要300或甚至360分钟。我们尝试通过调整操作系统配置,替换驱动程序以及调整虚拟机的配置来解决问题。没有任何帮助。”
在尝试了几种解决方法之后,例如安装新的ssd进行进一步的测试,但依然没有任何改善,回到windows 7几乎是唯一能够提高测试性能的方法。
“在运行windows 10时需要100分钟的测试,在windows 7上只花了20分钟。”vivaldi的开发人员表示。
该问题最初被认为与createprocess调用有关,但在向chromium团队发送错误报告后,发现它全部归结为control flow guard或cfg。
根据微软的说法,cfg是一项专门用于防止内存损坏漏洞的功能,“通过严格限制应用程序可以执行代码的位置”。chromium开发人员bruce dawson发现,关闭此功能可以解决windows 10上的问题。
然后向微软报告了这个漏洞,微软上周设法解决了这个漏洞,现在预计将在5月14日补丁星期二为所有用户发布一个完整补丁。
不过,最终用户不太可能因为这个错误而遇到任何性能问题,因为它目前只在特定的测试环境中出现。
试用申请