微软 Edge 团队称,“今天的浏览器更像是操作系统,而不是文档查看器。用户正在浏览器中执行越来越多的任务,而在桌面应用程序中执行的任务越来越少。与此同时,每个网页、Web 应用程序和扩展程序都在使用内存,这也会使用户体验受到影响。”
于是,他们从 Edge 浏览器的多进程架构入手,对 Edge 浏览器能够提供的资源解决方案展开了深入探讨。
如今多数浏览器都采用多进程架构,在运行时会被分割为不同的进程。浏览器、渲染器、GPU、实用程序、插件等都有属于自己的进程,分别处理不同的请求。
Edge 团队对这一过程做了详细的列举,假设在浏览器中打开四个标签页及两个扩展程序:
那么用户将在 Windows 任务管理器中看见 14 个正在运行的进程,除了浏览器进程、GPU 进程、网络服务进程、音频服务进程和崩溃监视进程之外,每个标签页和扩展,包括每个广告,都有自己独立的进程。
Microsoft Edge 程序经理 Allison Pastewka 表示,采用多进程架构是为了更好地提高浏览器的安全性、可靠性,也能更清楚地处理资源责任分配。
尤其是进程隔离这一功能,可有效防止某一进程访问另一进程的内存,从而提高了浏览器的安全性。例如,网上购物时需要交易信息,广告进程就会被阻挡在外,即便广告被入侵,也不会影响到敏感信息。
隔离进程后还可以轻松地在任务管理器中查看哪个进程使用了最多的资源,进而对各部分资源做出更有效的分配及优化。
对多进程架构的介绍只是一个开头,Edge 团队接下来将陆续分享关于 Edge 浏览器内存使用的更多信息。结合近期 Edge 和 Chrome 浏览器对内存和资源消耗这方面做出的种种尝试来看,如何降低内存占用是目前浏览器所面临的主要问题之一,也是接下来各浏览器所要做出努力的一大趋势。