
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
上网是互联网时代非常常见的一个网络行为,而上网就需要有浏览器的支持,今天我们就通过案例分析来了解一下,浏览器架构组成与运行方式。
浏览器进程(Browser process)
浏览器进程负责管理Chrome应用本身,包括地址栏、书签、前进和后退按钮。同时也负责可不见的功能,比如网络请求、文件按访问等,也负责其他进程的调度。
渲染进程(Renderer process)
渲染进程负责站点的渲染,其中也包括JavaScript代码的运行,web worker的管理等。
插件进程(Plugin process)
插件进程负责为浏览器提供各种额外的插件功能,例如flash。
GPU进程(GPU process)
GPU进程负责提供成像的功能。
当然还有其他像扩展进程或工具进程等其他进程,可以在Chrome的Task Manager面板中查看,面板中列出了运行的进程和其占用的CPU、内存情况。
多进程架构的好处
当我们访问一个站点时,渲染进程会负责运行站点的代码,渲染站点的页面,同时响应用户的交互动作,当我们在Chrome中打开三个页签同时访问三个站点时,如果其中一个没有响应,我们可以关闭它然后使用其他的页签,这是因为Chrome为每个站点创建一个独立的渲染进程,专门处理当前站点的渲染工作。如果所有的页面运行在同一个进程中,当有一个页面没有响应时,所有的页面就都卡住了。
浏览器是如何工作的
浏览器进程做为重要的进程负责大多数页签外部的工作,包括地址栏显示、网络请求、页签状态管理等。
不同的渲染进程负责不同的站点渲染工作,渲染进程间彼此独立。
渲染进程在渲染页面的过程中会通过浏览器进程获取站点资源,只有安全的资源才会被渲染进程接收到。
渲染进程中主线程负责除了图像生成外绝大多数工作,如何减少主线程上代码的运行是交互性能优化的关键。
渲染进程中的合成线程和栅格线程负责图像生成,利用分层技术可以优化图像生成的效率。
当用户与页面发生交互时,事件的传播途径从浏览器进程到渲染进程的合成线程再根据事件监听的区域决定是否要传递给渲染进程的主线程处理。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。