Chrome vs Firefox vs Safari vs Servo WebRender

Jake Archibald0 HN recommenders · 2016–2018
121K views · demo · dated · Uploaded 2016-03-03

A short side-by-side recording by Jake Archibald of the same animation demo running in Chrome, Firefox, Safari and Servo WebRender nightlies on a 60Hz display. It shows the smoothness difference of GPU-based rendering.

Used as a quick visual benchmark of the performance gain WebRender brings in Firefox and Servo discussions.

Watch on YouTube

7 comments from Hacker News

@clouddrover2016 · in “Vivaldi Browser 1.0”

> The UI is rendered with the browser's rendering engine. Yes, the performance will matter. But as Servo demonstrates there are a lot of speed gains to be made with the right design. See this talk by Patrick Walton about Servo's WebRender: [LINK] And this short demo comparing Chrome, Firefox, Safari, and Servo: [VIDEO]

@nachtigall2016 · in “Make the Web Work for Everyone”

See this demo comparing Chrome, Firefox and Servo WebRender: [VIDEO] Servo WebRender uses the GPU making it much faster than classic renderers (besides CPU parallelism), think of it like a Webbrowser using Video Gaming technology. There's a talk about this at [LINK] (HN discussion: [LINK] ) browser.html is just the current "skin" for Servo.

@ZenoArrow2017 · in “60 FPS Animations with CSS3”

> "Which is unlikely to happen anytime soon." Mozilla are moving Servo's WebRender over to Firefox. The feature is called Quantum Render, you can read up about it here: [LINK] To give some idea of what this means for CSS animation performance: [VIDEO]

@4827947937928942017 · in “Ask HN: How much is the recent improvement in Firefox Quantum due to Rust?”

The CSS engine was completely rewritten in Rust and now heavily utilizes parallelism, which Rust certainly did help with. I'd say, this was only about 1/4 of the performance increase going from 56 to 57, though. (Based on my perception, having run Nightly as daily driver and being aware of when which bigger change got merged.) The rest of the performance work was untied from Rust, as far as I'm aware. Upcoming somewhen after 57 is also WebRender / Quantum Render, which should give a significant boost to FPS. Basically, if you've ever wondered why your gaming PC can render out giant space warfares at 120 FPS, but your browser starts stuttering when that super cool menu animates itself, WebRender is going to fix that in principle. So, there's still going to be other problems, like JavaScript performance just not being on par with compiled code, but it should bring us a lot closer to the FPS that you'd expect. (To throw in some technical terms, in case you want to research: Browsers so far used Immediate Mode to draw things, whereas WebRender and video games use Retained Mode.) And WebRender was architectured as part of Servo, so is also written in Rust, but I can't tell you, if Rust really benefitted work here, or if it just happens to be written in Rust. This illustrates the sort of difference we're looking at with WebRender: [VIDEO] (Mind, though, that the video is more than a year old now. Firefox 57 should also already perform a lot better than what is shown in the video. T

@4827947937928942017 · in “The web at maximum FPS: How WebRender gets rid of jank”

I have it enabled on one of my Firefox profiles. Would not yet recommend for normal browsing, there's still rendering errors and sometimes seemingly random performance drops, but you can definitely see it working. That is, I have to be lucky for this benchmark [1] to not crash my "regular" Firefox Nightly. With WebRender on the other hand, the benchmark becomes entirely unimpressive, as if you were just playing a pre-rendered video. My system has an Intel i5-3220M with HD Graphics 4000 (was midrange for a laptop in 2012) and 4GiB RAM. OS is openSUSE Tumbleweed with a KDE Plasma + bspwm combination as desktop environment, so no desktop compositor (no idea if that makes a difference). [1] [VIDEO]

@Sylos2017 · in “Can the new Firefox Quantum regain its web browser market share?”

Well, as it says in the article, Firefox and Chrome on iOS are both just WebKit wrappers, because Apple doesn't allow other browser engines into their store, so I don't know what kind of black magic or bias or whatnot your users are experiencing. As for Android, the new CSS engine (called "Quantum CSS" or "Stylo"), which landed with Firefox 57 on the desktop, should ship on Android with Firefox 59. There's also "Quantum Render" or "WebRender" upcoming somewhen soonish. I'm guessing Firefox 60 or 61 on the desktop, so maybe again with a small delay then on Android, I don't know. WebRender should be kind of a big deal. In extreme cases, the difference can look like this: [VIDEO]

@Sylos2018 · in “Firefox desktop market share now below 9%”

Servo is nowhere near ready. It's been a few months since I've seen actual results, but I'd be surprised, if it nowadays completed ACID3 (which was state of the art for browsers in 2009). The thing is that rewriting a browser engine doesn't just happen over night. No bigger browser engine has been written from scratch since the previous millennium. Also, no browser engine implements all currently specified webstandards. So, Mozilla would have to full-pelt develop Gecko to be able to keep up with Blink in webstandards, and then also develop Servo at more than full-pelt to be able to catch up in finite time. That just doesn't add up, which is why Servo was specifically started as a research project. It might never be completed. They have been able to integrate various components from Servo directly into Gecko, therefore sharing the development work which they didn't really plan with, so that's one tiny reason to still hope for it to ever catch up, but yeah, just don't be too optimistic. Having said all that, the integration of components from Servo into Gecko isn't done yet. WebRender is still missing, which should bring another good performance boost. It's sort of been overhyped with artificially complicated CSS animations [0], so the real world effect isn't that big, but it's still very much noticeable. [0]: [VIDEO] Aside from that, on Android, Mozilla is building a new framework for building Android browsers in general, called "android-components", which also includes a much