Slashdot Mirror


Firefox Takes the Next Step Towards Rolling Out Multi-Process To Everyone (arstechnica.com)

An anonymous reader quotes a report from Ars Technica: With Firefox 50, Mozilla has rolled out the first major piece of its new multi-process architecture. Edge, Internet Explorer, Chrome, and Safari all have a multiple process design that separates their rendering engine -- the part of the browser that reads and interprets HTML, CSS, and JavaScript -- from the browser frame. They do this for stability reasons (if the rendering process crashes, it doesn't kill the entire browser) and security reasons (the rendering process can be run in a low-privilege sandbox, so exploitable flaws in the rendering engine are harder to take advantage of). Moreover, these browsers can all create multiple rendering engine processes and use different processes for different tabs. This means that the scope of a crash is narrowed even further, typically to a single tab. Internet Explorer and Chrome both implemented this long ago, in 2009. Firefox, however, has not offered a similar design. Although work on a multi-process browser was started in 2009, under the codename Electrolysis, that work was suspended between 2011 and 2013 as priorities within the organization shifted. In response, Mozilla started switching to a new extension system in 2015 that opened the door to a multi-process design. The first stage of Firefox's move to multi-process involves separating the browser shell from a single rendering process that's used by every tab. In Firefox 48, that feature was enabled for a small number of users who used no extensions. Firefox 49 was rolled out to include users running a limited selection of extensions. Now, in Firefox 50, a separate renderer process is used for most users and most extensions. Developers are now able to mark their extensions as explicitly multi-process compatible. Firefox 51 will extend this even further to cover all extensions, except those that are explicitly marked as incompatible. Mozilla says that, even with the limited changes made in Firefox 50, responsiveness of the browser has improved by 400 percent due to the separation between the renderer and the browser shell. During page loads, responsiveness will increase to 700 percent.

3 of 154 comments (clear)

  1. Re:Not all rosy by trparky · · Score: 4, Informative

    You can control how many sub-processes are created by the browser using an entry at the about:config screen. If you set it to one it will only spawn one sub-process. This will of course negate the whole idea of having sub-processes since all tabs would be running in one rendering sub-process but it would fix your issue.

  2. Re:Firefox...hmmm by MSG · · Score: 3, Informative

    No, it's the browser people use because they want to sync their bookmarks *and* have extensions on a mobile device.

  3. Re:Not all rosy by AmiMoJo · · Score: 3, Informative

    They can't win. If they don't do it, Firefox's performance and security will continue to fall behind and the vast majority of users will complain. If they do it, a small number of users with unusual use-cases will complain that it breaks their system. If they try to accommodate both it will create much more work and delay the feature.

    Oblig. XKCD.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC