SOFTWARE DEVELOPER Mozilla has outlined its goals for a more responsive Firefox web browser that includes support for multi-core computers.
Mozilla, having recently launched Firefox 5, has said that it is working to bring multi-process content support to Firefox. As for what this will bring to the web browser, Mozilla said that it aims to create a smoother, more responsive user experience with fewer pauses.
In a blog post, Mozilla outlined what it thinks Firefox responsiveness means. The outfit said, "At a basic level we're talking about making sure that the main [user interface] of the browser isn't away from the mainloop for more than fifty milliseconds. We've made great strides here, and Firefox 5 is a great browser from a responsiveness standpoint. But we know that if we want to separate chrome and content concerns that we're going to have to go to multi-process."
Mozilla was in the headlines in the past fortnight after it was revealed that the Aurora build of Firefox will be sporting more frequent garbage collection. However in this blog, Mozilla says that the cost of garbage collection goes up as the heap size increases.
That is not too surprising as essentially it acknowledges that the garbage collector has more to scan. What this ultimately means to the user, said Mozilla, are pauses to the user interface and what the outfit wants to do is "to make sure that garbage collection for pages doesn't really affect the main [user interface]".
One of the biggest challenges facing Mozilla is the fact that the document object model (DOM) is single threaded. Mozilla says that most of the other aspects of Firefox, such as the networking stack, image decoding and I/O are multithreaded but the content itself - referred to as the DOM - is single threaded.
Mozilla's plan to overcome this limitation is to have each DOM assigned to its own processor. While this is not multi-threading it makes use of multiple cores on the processor and should have the desired effect. Mozilla said that a longer term goal will be to create a multi-threading DOM.
Another possible Firefox development is the adoption of a one process per tab model. According to Mozilla having content confined to a particular process increases the chances of containing crashes and not resulting in the whole web browser crashing.
Google's Chrome runs a separate process for each tab and Mozilla has in the past argued that such a model is resource heavy. Now the outfit has admitted that might enhance overall browser stability and provide security improvements, saying that it can sandbox specific processes.
With Mozilla's rapid release programme for Firefox in place, these discussions might seem somewhat vague and lacking in detail now, but users won't have to wait very long before seeing significant changes in Firefox that could help the outfit counter Google's Chrome. µ