Creating a lightweight web browser - Gecko vs Webkit vs ???; Qt4 vs Qt5 vs?

Since I am not completely satisfied with any of the main browsers (Firefox, Chrome, Opera), and none of the less popular ones that I tried (almost a dozen), I decided to do DIY and make the website a browser I would like better.

The main goal is to use it as little RAM as possible - my laptop has 1 GB, installed and not expandable. But it should retain all the basic functionality I need - full support for JavaScript, support for an external Flash plug-in (such as Adobe) and, possibly, an ad blocker using EasyList filters.

But I do not have much experience in creating my own graphical applications, and after a fairly long time spent at Google, I practically did not find information about which framework is best suited for work. So I ask:

  • Which one: Gecko or Webkit uses less memory in general? If they are about the same, what is easier to use and "mess around" (such as removing redundant functions)? Are there any other browser mechanisms that I could try in this task?
  • Which one uses less memory to display the main controls: Qt4 or Qt5? What about QtWebkit - did it grow in Qt5, or vice versa? If I decide to use Qt4, can I upgrade the Webkit engine (from QtWebkit) to new versions? How difficult is it to integrate vanilla Webkit or Gecko into a Qt application?
  • Do you know any other native GUI libraries that would do better or better than Qt, especially regarding memory consumption? WxWidgets? GTK +? I need to at least support Windows and Linux.
  • Which open source JS engine uses the least amount of memory? It does not need to be run faster.
+4
source share
4 answers

Gecko is often considered consuming less memory than WebKit, but it depends a lot on how the browser is implemented. However, it is really (almost unbelievable) easy to create a (at least simple) web browser with Qt, which also has a JavaScript engine. Qt 4 is more stable and consumes less memory than Qt 5 (this was a few months ago, I do not know if everything has changed). The choice is yours.

+2
source

I did some quick tests on my old PC with a 1.5 GHz processor and 384 MB of RAM with Lubuntu 12.04.

I installed Chromium 33 (Blink), Firefox 28 (Gecko), Epiphany 3.4.1 (WebKitGTK) and QupZilla 1.6.5 (QtWebKit4). Firstly, I opened one tab - Google, then opened 5 tabs - CNN, Yahoo, YouTube, Google, Facebook, and I measured the memory used by browsers using the task manager. Then I run the HTML5 test and the V8 test. Results:

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 

Verdict: The most efficient memory is Epiphany / WebKitGTK, and the most bloated is Chromium / Blink.

Besides (Qt) WebKit (GTK), Gecko and Blink, have you tried Awesomium ?

+2
source

I'm not sure that you are ready to rethink how you want to do this, but you can find Netsurf, http://www.netsurf-browser.org/about/ and especially the project page http://www.netsurf-browser.org / projects / to be useful for this project. I think that this will require you to abandon the standard framework, and most likely it will be much more work, but I believe that this will allow you to significantly reduce your footprint.

What about the GUI? "The general idea [libNSFB] is to provide a general abstraction to a linear section of memory that corresponds to a visible array of pixel elements on a display device." Sounds fun.

Also, +1 for "Except what happened to you? [...]." Attach it to a man. In particular, Firefox began to become less intuitive, and add-ons only paint over rot.

+1
source

Firefox is his best for long. Support webm, ogv, mp4. A way to show, and many html tags do not care much better than webkit. This is my opinion.

-4
source

Source: https://habr.com/ru/post/1484900/


All Articles