Firefox 58 Quantum Lands For Windows, Linux And macOS With Greater Performance


Mozilla ended 2017 with a bang by retooling its Firefox browser with a focus on speed with the release of Firefox 57. Now called Firefox Quantum (it is okay to still refer to it as simply Firefox), Mozilla's browser is noticeably faster than previous versions—over twice as fast, according to Mozilla. It is a solid foundation to build upon, and Mozilla is doing that, with Firefox 58 bringing even more improvements to browser space.

If you are a Firefox user, you can initiate an update to the latest release by clicking on the three horizontal lines in the upper-right corner, clicking on Help, and selecting About Firefox. Or you can download Firefox from Mozilla's website. Either way, Firefox 58 is available now to all users, and it brings further optimizations to the Firefox Quantum experience.

"With this release, we’re building on the great foundation provided by our all-new Firefox Quantum browser. We're optimizing the performance gains we released in 57 by improving the way we render graphics and cache JavaScript. We also made functional and privacy improvements to Firefox Screenshots. On Firefox for Android, we’ve added support for Progressive Web Apps (PWAs) so you can add websites to your home screen and use them like native apps," Mozilla said.

One of the optimizations that Firefox 58 introduces is called Off-Main-Thread Painting (OMTP). To understand what this does, let's have a look at how Firefox renders a webpage with OMTP:
  • Making a Display List: Here we collect the visible elements on the page and create high-level primitives to encapsulate rendering each one. These primitives are called “display items.”
  • Assigning Layers: Here we try to group display items together into “layers”, based on how they are scrolled or animated. There are different types of layers. Display items will usually be grouped into “Painted” layers, which have a texture (or bitmap) that is updated when items are added, removed, or changed.
  • Rasterization: This is where each display item is asked to render itself into its assigned layer. For example, a “table” item might issue a series of API calls to draw borders and lines.
  • Compositing: Finally, the layers are composited into a single final image, which is then sent to the monitor. This step uses Direct3D or OpenGL when available
The rasterization step incurs the biggest performance penalty and can cause the browser to lag, skip, or pause. OMTP moves rasterization duties to its own GPU thread. Mozilla has a blog post that explains all the nitty-gritty details, but the net result is that Firefox can handle graphics duties faster and sustain higher framerates with OMTP.

"Even after work on WebRender is complete and enabled in Firefox, there are many situations where hardware acceleration is not available or drivers have bugs that could (ahem) render WebRender unavailable. OMTP will provide a significantly better experience than the current rendering process," Mozilla explains.

Firefox also contains various security fixes and contains additional developer tools to help coders better monitor performance and collect related metrics.