设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

微软优化chrome.exe被固定到任务栏的过程,可降低CPU使用率

2020-7-6 21:29| 发布者: joejoe0332| 查看: 3892| 评论: 0|原作者: oschina|来自: oschina

摘要: 微软为 Chromium 提交的一个补丁能对检查浏览器是否被固定在任务栏进行性能优化。根据微软在补丁中的描述,他们发现 Chrome 会在启动后的 45s 使用一段代码检测当前正在运行的 chrome.exe 是否已被固定在任务栏上。 ...

微软为 Chromium 提交的一个补丁能对检查浏览器是否被固定在任务栏进行性能优化。

根据微软在补丁中的描述,他们发现 Chrome 会在启动后的 45s 使用一段代码检测当前正在运行的 chrome.exe 是否已被固定在任务栏上。每调用一次这段代码(chrome!UtilWinImpl::IsPinnedToTaskbar)都会产生较高的 CPU 消耗(~300ms 的 CPU time 以及 1s wall time)。

这个过程主要包括:

  • 枚举被固定在任务栏文件夹中的所有快捷方式
  • 检查它们是否为当前运行的 exe 的快捷方式
  • 枚举所有与快捷方式相关的 Shell verbs
  • 检查 verb 是否处于"unpin"状态(即是否已被固定在任务栏)

上述的过程使用了一个单独的进程来进行检查,而且检查 Shell verbs 会导致 shell 扩展被加载,从而运行第三方代码,这些都会导致 CPU 使用率升高。

微软对这个过程进行了优化,他们认为无需在快捷方式上枚举 verb,而是使用代码库中的其他固定状态检查来代替。于是删除了枚举 shell verbs 的代码,并在浏览器进程中运行代码,而不是使用单独的进程,因为已经不再会加载第三方代码。

此项变更最后相应地降低了检查浏览器在任务栏状态时的 CPU 使用率。这个消耗可能对大部分配置来说可能并不明显,不过微软的 Eric Lawrence 认为,修复小问题最终可以提升浏览器的性能。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部