制作轻量级网页浏览器 - Gecko vs Webkit vs ??? Qt4 vs Qt5 vs?

时间:2013-06-06 19:04:14

标签: qt memory browser

由于我不满足于任何主流浏览器(Firefox,Chrome,Opera),也没有一个我尝试过的不太受欢迎的浏览器(近十几个),我决定DIY并制作网页浏览器我想要最好的。

主要目标是尽可能少地使用RAM - 我的笔记本电脑安装了1GB并且无法扩展。但它必须保留我需要的所有基本功能 - 完整的JavaScript支持,对外部Flash插件的支持(如Adobe的支持),以及使用EasyList过滤器的广告拦截器。

但是我在制作本机GUI应用程序方面没有太多经验,经过谷歌搜索相当长的一段时间后,我发现几乎没有关于哪些框架能够最好地完成工作的信息。所以我问:

  1. 以下哪一项:Gecko或Webkit,在一般情况下使用较少的内存?如果它们大致相同,哪个更容易使用并且“搞乱”(如删除冗余功能)?是否还有其他浏览器引擎可以尝试完成此任务?
  2. 哪一个使用较少的内存来显示基本控件:Qt4或Qt5? QtWebkit怎么样 - 它在Qt5中变胖了,还是恰恰相反?如果我决定使用Qt4,我能否将Webkit引擎(从QtWebkit)更新到新版本?将vanilla Webkit或Gecko集成到Qt应用程序有多难?
  3. 您是否知道任何其他本机GUI库可以比Qt更好或更好地完成工作,尤其是在内存消耗方面? wxWidgets的? GTK +?我至少需要支持Windows和Linux。
  4. 哪个开源JS引擎使用最少的内存?它不一定需要运行得最快。

4 个答案:

答案 0 :(得分:2)

Gecko通常被认为比WebKit消耗更少的内存,但这在很大程度上取决于浏览器的实现方式。然而,用Qt创建(至少是一个简单的)Web浏览器真的(几乎令人难以置信)很简单,它也有一个JavaScript引擎。 Qt 4比Qt 5更稳定并且消耗更少的内存(几个月前就是这种情况,我不知道事情是否发生了变化)。选择是你的。

答案 1 :(得分:2)

我已经在装有1.5GHz CPU的旧PC和使用Lubuntu 12.04的384MB RAM上进行了一些快速测试。

我安装了Chromium 33(Blink),Firefox 28(Gecko),Epiphany 3.4.1(WebKitGTK)和QupZilla 1.6.5(QtWebKit4)。首先,我打开了一个标签 - 谷歌,然后我打开了5个标签 - CNN,雅虎,YouTube,谷歌,Facebook,我测量了浏览器使用任务管理器使用的内存。然后我运行HTML5测试和V8基准测试。结果:

          1 tab  5 tabs  HTML5  V8
Epiphany  68MB   155MB   351    988
QupZilla  86MB   204MB   304    881
Firefox   101MB  188MB   424    353
Chromium  151MB  281MB   495    963

结论:内存效率最高的是Epiphany / WebKitGTK,最臃肿的是Chromium / Blink。

除了(Qt)WebKit(GTK),Gecko和Blink之外,你有没有试过Awesomium

答案 2 :(得分:1)

我不确定您是否愿意重新考虑如何执行此操作,但您可能会发现Netsurf,http://www.netsurf-browser.org/about/,尤其是项目页面http://www.netsurf-browser.org/projects/对此项目非常有用。我认为这将要求你摆脱标准框架,它很可能会更多的工作,但我相信这将使你大大减少你的足迹。

至于GUI? “[libNSFB]的总体思路是为存储器的线性部分提供通用抽象,该部分对应于显示设备上的可见像素元素阵列。”听起来很有趣。

此外,+ 1代表“还有,你怎么了?[...]”。把它贴在男人身上。特别是Firefox已经开始变得不那么直观了,插件只能在腐烂中涂抹。

答案 3 :(得分:-4)

Firefox是最好的。支持webm,ogv,mp4。显示和许多html标签的方式比webkit好得多。这是我的意见。