制作轻量级网络浏览器——Gecko vs Webkit vs???;Qt4对Qt5对?

制作轻量级网络浏览器——Gecko vs Webkit vs???;Qt4对Qt5对?,qt,memory,browser,Qt,Memory,Browser,因为我对主流浏览器(Firefox、Chrome、Opera)都不满意,而且我也尝试过一些不太受欢迎的浏览器(近十几种),所以我决定自己动手做一个我最喜欢的网络浏览器 主要目标是尽可能少地使用RAM——我的笔记本电脑安装了1GB,不可扩展。但它必须保留我所需要的所有基本功能——完整的JavaScript支持、对外部Flash插件的支持(如Adobe的插件),以及使用EasyList过滤器的广告拦截器 但我在制作本地GUI应用程序方面没有太多经验,在花了相当长的时间在谷歌上搜索之后,我几乎没有发现

因为我对主流浏览器(Firefox、Chrome、Opera)都不满意,而且我也尝试过一些不太受欢迎的浏览器(近十几种),所以我决定自己动手做一个我最喜欢的网络浏览器

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

但我在制作本地GUI应用程序方面没有太多经验,在花了相当长的时间在谷歌上搜索之后,我几乎没有发现任何关于哪些框架最适合这项工作的信息。所以我想问:

  • 以下哪一个:Gecko或Webkit,在一般情况下使用更少的内存?如果它们大致相同,那么哪一个更易于使用和“混乱”(如中所示,删除冗余功能)?在这项任务中,是否有其他浏览器引擎可以尝试
  • 显示基本控件时,哪一个使用较少的内存:Qt4还是Qt5?QtWebkit呢?它是在Qt5中长胖的,还是正好相反?如果我决定使用Qt4,我是否能够将Webkit引擎(从QtWebkit)更新为新版本?将vanilla Webkit或Gecko集成到Qt应用程序中有多难
  • 你知道有没有其他的原生GUI库可以做得和Qt一样好或者更好,尤其是在内存消耗方面?wxWidgets?GTK+?我至少需要同时支持Windows和Linux
  • 哪个开源JS引擎使用的内存最少?它不一定要跑得最快

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

    Firefox是长期以来最好的选择。支持webm、ogv、mp4。显示和显示许多html标记的方式比webkit要好得多。这是我的观点。

    我不确定您是否愿意重新思考如何做这件事,但您可能会发现Netsurf,尤其是项目页面,对这个项目很有用。我认为这将要求您远离标准框架,这很可能需要更多的工作,但我相信这将允许您大幅减少您的足迹

    至于GUI?“libNSFB的总体思想是提供一个对内存线性部分的通用抽象,它对应于显示设备上的可见像素元素数组。”听起来很有趣


    还有,+1表示“还有,你怎么了?[…]”。把它贴在那个人身上。特别是Firefox已经开始变得不那么直观了,而插件只是掩盖了问题。

    我已经在我的旧电脑上做了一些快速测试,它有1.5GHz的CPU和384MB的RAM以及Lubuntu 12.04

    我已经安装了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之外,你还试过吗?

    我没有问任何JS引擎。我特别要求的是低内存JS引擎。因为如果有必要的话,我可以用胶带将任何引擎连接到我的浏览器上——问题是,我应该使用哪一个。我不知道哪一个选项是最好的,但他们说至少V8非常快,需要的内存很少。如果创建自己的浏览器是一种爱好,或者你只是想学习一些东西,那就完全可以了。我的观点是,创建一个新的工作浏览器是一个大项目。你是否考虑过为Firefox或Chrome制作自己的插件,以改变你讨厌的功能?这将是一个小得多的项目,您将获得一些关于这些浏览器如何工作的经验。当然,使用插件你无法改变浏览器使用的内存量,但是如果你从现成的库中构建浏览器,你也不能很好地控制它们的内存使用。你的答案在很多地方都是错误的。首先,这与我的问题完全无关——我们谈论的不是浏览器,而是浏览器引擎。其次,这与我的问题完全无关——我们谈论的不是很酷的功能,而是内存消耗。第三,你的语法不仅让我目瞪口呆,而且让你的整个帖子几乎无法理解。带有HTML标记的那部分是关于什么的?第四,以“这是我的观点”结尾的帖子足以让我当场驳斥它缺乏可信度。毫无意义的数据。渲染引擎正在使用报告的内存的未知部分。