cef合并渲染进程
Posted Redrain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cef合并渲染进程相关的知识,希望对你有一定的参考价值。
转载请说明原出处,谢谢~~:https://blog.csdn.net/zhuhongshu/article/details/81485354
在使用cef时,默认情况下,每打开一个页面,就会创建一个新的Render进程。随着web页面数量的增加,创建大量Render进程,而进程太多会让客户反感,而且有时候为了一些小页面去开进程是很浪费资源的
其实cef是有多种开启进程策略的:
- 可以渲染进程与主进程合并为一个进程,但是风险太大,不建议使用
- 所有渲染进程合并为一个
- 每个页面一个单独的渲染进程(默认策略,chrome也是这样)
- 同一个域下的页面使用同一个渲染进程(比如所有https://test/开头的页面)
我最终渲染同一个域下的页面使用同一个渲染进程,可以比较合理的控制进程数量。在`OnBeforeCommandLineProcessing`增加`--process-per-site`配置选项来开启此功能,以后同一个域下的web页面就会使用同一个渲染进程
而这个功能正好配合上一篇里说的cef对本地web资源打包加密,这里用到的域恰好就是上一篇文章中用到的特征字符URL(多次调用AddArchiveProvider来添加多个特征字符对应的资源来源),可以自己把web资源划分为几个域。这样只要自己划分了几个域,最终最多就会出现几个渲染进程
通过合理的安排域,可以让重要的页面单独占用一个进程,而零碎的小页面一起来占用一个进程,节省资源
Redrain
QQ:491646717
2018.8.7
以上是关于cef合并渲染进程的主要内容,如果未能解决你的问题,请参考以下文章