Servo, the Parallel Browser Engine Project
servo.org
servo.org
Shows how bloated modern web is and how hard it is to write a browser engine. Really sad state of affairs.
[1] https://github.com/paulrouget/servo-embedding-example [2] https://github.com/glennw/servo-shell
I also tried the examples in the WebRender crate, several times, and I never get any kind of text rendered, just rectangles. Due to lacking documentation I’m not sure whether I should be seeing text or not, but drawing rectangles is something I can do on my own with OpenGL or heck, even poking [64] the pixels myself!
[64] I first learned about computer graphics with my Commodore 64.
This is on Ubuntu with Intel integrated graphics (i7-4650U), which I guess might not be supported. Is that documented somewhere?
Anyhow, every time I try again I end up wasting several hours, so I’m still using WebKit for my application prototypes. Some of my use cases do not require a full browser engine (thus trying out WebRender), the most important part is text layout and I’m very interested in using Pathfinder [3], hopefully from a higher-level API like libservo or WebRender.
Parallelism is interesting to make them faster by using multiple processor cores, today probably most interesting for mobile devices.
Browser engines also execute the JavaScript, though I'm pretty sure Servo just does the HTML/CSS rendering. Webpages these days are very heavy which is why parallelism is important (for both the layout engine as well as the JS engine).
Servo is a new engine written from scratch that's progressively replacing Gecko in Firefox: https://wiki.mozilla.org/Quantum