本帖最后由 Spirit_悔灭 于 2019-12-25 15:39 编辑
有很多小伙伴们反馈,我的浏览器启动会需要很长时间,3分钟、5分钟......这启动时间都够我去水库打水回来了。那么我来分享下我的观察和一些缓解方法。
为什么说是缓解办法,因为使用环境不同可能一种方法就起效果了,可能哪个办法都不起作用。不敢说解决,只能缓解点这里直接看方法
谷歌内核的浏览器组成有很多部分——插件、内核组件、扩展、页面,这也是为什么打开任务管理器之后,我们能看到安全浏览器会有很多个进程在运行。谷歌浏览器也有内置的任务管理器方便排查使用问题。快捷键是Shift+Esc。
360社区
看着截图上的任务管理器感觉不多,其实谷歌浏览器加载完的内容会挂起些进程留着备用。我们可以使用ProcessMonitor软件查看下谷歌浏览器启动的过程。
点击Filter-filter...,在弹出的窗口中选择process name 编辑框中填入chrome.exe。之后依次点击add-ok-ok
360社区
我不是学前端开发的,但发现chrome.exe后面的执行命令一直在变换可以从这些入手去分析他们。我电脑cpu是i3-2310m首先看下时间是启动是
360社区
到可以正常使用后关闭
360社区
第一步 可以看到谷歌浏览器在调用必要的组件启动程序
第二步 应该是谷歌浏览器在定义用户数据的位置以及检查版本号
chrome.exe --type=crashpad-handler --user-data-dir=* /prefetch:7 --monitor-self-annotation=ptype=crashpad-handler --database=* --metrics-dir=* --url=https://clients2.google.com/cr/report --annotation=channel= --annotation=plat=Win64 --annotation=prod=Chrome --annotation=ver=78.0.3904.108 --initial-client-data=*
第三步
chrome.exe --type=watcher --main-thread-id= --on-initialized-event-handle= --parent-handle= /prefetch:6
第四步 加载gpu必要组件
chrome.exe --type=gpu-process --field-trial-handle= --gpu-preferences=* --service-request-channel-token=* --mojo-platform-channel-handle= /prefetch:2
第五步 启动网络必要组件
chrome.exe --type=utility --field-trial-handle= --lang=zh-CN --service-sandbox-type=network --service-request-channel-token= --mojo-platform-channel-handle= /prefetch:8
第六步
chrome.exe --type=renderer --field-trial-handle= --disable-databases --lang=zh-CN --enable-auto-reload --device-scale-factor=1 --num-raster-threads=2 --enable-main-frame-before-activation --service-request-channel-token= --renderer-client-id=8 --no-v8-untrusted-code-mitigations --mojo-platform-channel-handle= /prefetch:1
第七步
chrome.exe --type=renderer --field-trial-handle= --disable-databases --lang=zh-CN --enable-auto-reload --device-scale-factor=1 --num-raster-threads=2 --enable-main-frame-before-activation --service-request-channel-token= --renderer-client-id=7 --no-v8-untrusted-code-mitigations --mojo-platform-channel-handle= /prefetch:1
第八步
chrome.exe --type=renderer --field-trial-handle= --lang=zh-CN --enable-auto-reload --device-scale-factor=1 --num-raster-threads=2 --enable-main-frame-before-activation --service-request-channel-token= --renderer-client-id=9 --no-v8-untrusted-code-mitigations --mojo-platform-channel-handle= /prefetch:1
第九步 这步应该是加载组件、扩展
chrome.exe --type=renderer --field-trial-handle= --lang=zh-CN --extension-process --enable-auto-reload --device-scale-factor=1 --num-raster-threads=2 --enable-main-frame-before-activation --service-request-channel-token= --renderer-client-id=4 --no-v8-untrusted-code-mitigations --mojo-platform-channel-handle= /prefetch:1
可以看到谷歌的运行是非常多步骤的,如果启用扩展或者组件很多的话,准备时间会很多。
使用相似的方法,查看安全浏览器的启动时间,我安装有adp扩展、猫抓、油猴、浏览器默认安装的扩展,百度网盘、建设银行控件、支付宝控件、qq的快速启动组件,版本11.1.1068.0。重新启动电脑之后启动浏览器的记录
360社区
360社区
从下面这2张截图可以看出浏览器在加载第三方扩展时会用很多时间,当然其他软件在运行时启动浏览器也会有一定的影响。
360社区
360社区
|
|
|
|
评论
直达楼层