The new version also significantly reduces the memory overhead of leaky add-ons.

Mozilla announced today the release of Firefox 15, a new version of the open source Web browser. The update brings a number of noteworthy enhancements, including new built-in development tools and enhanced support for cutting-edge Web standards that enable sophisticated gaming experiences. Under the hood, Firefox 15 introduces a new optimization that can radically reduce the browser’s memory footprint for users who rely on many add-ons.

As we have discussed in much of our recent browser coverage, modern standards-based Web technologies are increasingly capable of supporting the kind of interactive multimedia experiences that used to only be available through plugins or native applications. The major browser vendors, which are all working to further expand the range of capabilities offered by the Web, have recently taken an interest in enabling game development.

Mozilla has been working on a number of relevant features, including an API for displaying content in fullscreen mode, support for mouse-locking, and sophisticated real-time audio mixing functionality. Earlier this year, Mozilla launched its own real-time multiplayer adventure game called BrowserQuest with the aim of showcasing HTML5 gameplay. The open Web is clearly a serious contender for casual gaming.

The latest round of browser improvements are paving the way for even more elaborate gaming experiences. In Firefox 15, Mozilla has added native support for using compressed textures in WebGL, lowering the overhead of using high-resolution images in video memory. Firefox 15 also includes support for the new high-precision time APIs, which provide support for sub-millisecond time measurement—useful for making games with lower latency, smoother animation, and properly synchronized audio.

The BananaBread demo, a 3D first-person shooter, offers a particularly compelling example of what developers can presently achieve with WebGL, compressed textures, pointer lock, and fullscreen support. The BananaBread engine is a JavaScript and WebGL port of the 3D game engine used in Cube 2: Sauerbraten. The initial port was accomplished by Mozilla researcher Dr. Alon Zakai (kripkenstein in the Ars forums) using Emscripten, a sophisticated LLVM-based tool for transpiling conventional C/C++ code into JavaScript.

The demo allows the user to fight against bots on three separate maps. The user can choose from several different weapons, customize the number of bots, and toggle between first- and third-person views. The engine also has an edit mode which allows the user to fly around and modify the current level. I tested the demo in Firefox 15 and found that the high-resolution mode was playable on my MacBook Air.

Under the hood

When Firefox 10 was released back in January, we took a close look at the browser’s new suite of built-in developer tools, which included a DOM inspector, Web console, JavaScript scratchpad, and CSS editor. Firefox 15 adds another tool to the lineup: an interactive JavaScript debugger. The debugger allows the user to set breakpoints, step through execution, and see the state of variables in the current scope of execution. It can also be used over a network to perform remote JavaScript debugging on a mobile Firefox instance running on an Android device.

Mozilla has a dedicated “MemShrink” team that continuously works to improve the browser’s memory efficiency. In Firefox 15, they have succeeded in further reducing the overall footprint. As we reported last year, leaky third-party add-ons are one of the biggest culprits of memory waste in Firefox. The misbehaving add-ons maintain references to DOM objects from pages that are no longer open, preventing the browser’s garbage collection mechanism from freeing up the page’s memory compartment.

Mozilla initially attempted to address the issue by educating developers and flagging instances of the problem during add-on reviews, but that strategy proved inadequate due to the large size of the add-on development community and the general lack of centralized control over add-on distribution.

Mozilla finally came up with a technical solution, which is implemented in Firefox 15. The browser will now automatically sever the unnecessary references, effectively preventing the proliferation of “zombie” compartments. In practice, the benefits of this improvement will be most profound for users who rely on numerous or particularly hefty add-ons. Individual users have reported seeing improved performance and significant reductions in memory consumption as a result of the change.

Another significant new feature that has arrived in Firefox 15 is full support for background updates. This long-overdue feature will make Firefox’s rapid update cycle less painful for end users. As Mozilla developer Ehsan Akhgari explained in a blog post this morning, the feature had to be implemented very carefully in order to avoid a scenario where users are no longer able to receive updates.

Promoted Comments

Was curious about bananabread because my kid and I would duke it out in Sauerbraten from time to time since it's easy on the computer and free. Have to admit though, and I'm aware this is rather new, that while it looked like the original it was pretty choppy visually running around with some bots. Is this because post processing is handled differently in the browser? I've a pretty hefty laptop and the difference in gameplay is quite noticeable.

Performance is definitely not identical to the native version. There are a few reasons for that: First, that WebGL introduces security measures that the native app does not (because the native app is not sandboxed, but the web must be). Second, JS, while getting faster all the time, is not identical in speed to native code. And third, simply that this type of game is very new in browsers, so there are various silly bugs that lower performance. (Part of the reason for this demo is to help fix those.)

But overall, I've seen all three levels in BananaBread run very smoothly on reasonable machines, even with those limitations. When you add lots of bots it can get slower though - the goal is to improve that over time.

I'm not opening my about window this time. I want to see how many days does it take to autonotice there is a new version. Using it at home and work.

Will update when it happens.

Ha..Didn't know that. Opened the about window to check my version and now I'm in 15 in less than 30 seconds.

Was curious about bananabread because my kid and I would duke it out in Sauerbraten from time to time since it's easy on the computer and free. Have to admit though, and I'm aware this is rather new, that while it looked like the original it was pretty choppy visually running around with some bots. Is this because post processing is handled differently in the browser? I've a pretty hefty laptop and the difference in gameplay is quite noticeable.

I find Mozilla's move to improve support for 3D about as exciting as VRML back in the day. It has nothing to do with how I use the web, and if we want to talk about how I game, it'll be a step backwards in performance/latency from native object code executing on my PC's hardware.

I really think they should focus more on the performance and stability. Just hoping firefox can be faster than chrome. 3D gaming on your browser? really?That is impressive for demo. I don't expect too many hardcore gamers playing 3D games inside their browser. Causal gamer don't really play high end 3D game that much.

Firefox has already matched Chrome's speed in the past couple versions so ultimately it's whichever one you like better. I continue to use Firefox because I prefer Awesomebar's behavior over the Omnibar.

Stability-wise, I don't see much difference since the only thing that ever crashes my browser are plugins and those are separate from the main process even in Firefox.

I really think they should focus more on the performance and stability. Just hoping firefox can be faster than chrome. 3D gaming on your browser? really?That is impressive for demo. I don't expect too many hardcore gamers playing 3D games inside their browser. Causal gamer don't really play high end 3D game that much.

Is that because casual gamers don't like 3D or because 3D games take too much effort to install and start playing? I suspect the latter. If you just had to browse to the game, that would open things up for the casual user who is not interested in setting anything up.

I really think they should focus more on the performance and stability. Just hoping firefox can be faster than chrome. 3D gaming on your browser? really?That is impressive for demo. I don't expect too many hardcore gamers playing 3D games inside their browser. Causal gamer don't really play high end 3D game that much.

Is that because casual gamers don't like 3D or because 3D games take too much effort to install and start playing? I suspect the latter. If you just had to browse to the game, that would open things up for the casual user who is not interested in setting anything up.

No. I suspect casual gamers don't buy high end graphic cards to play 3D games. And don't pay high price for high end 3D games either.

Firefox has already matched Chrome's speed in the past couple versions so ultimately it's whichever one you like better. I continue to use Firefox because I prefer Awesomebar's behavior over the Omnibar.

I really think they should focus more on the performance and stability. Just hoping firefox can be faster than chrome. 3D gaming on your browser? really?That is impressive for demo. I don't expect too many hardcore gamers playing 3D games inside their browser. Causal gamer don't really play high end 3D game that much.

Is that because casual gamers don't like 3D or because 3D games take too much effort to install and start playing? I suspect the latter. If you just had to browse to the game, that would open things up for the casual user who is not interested in setting anything up.

No. I suspect casual gamers don't buy high end graphic cards to play 3D games. And don't pay high price for high end 3D games either.

I think the purpose of this is not to compete directly with hardcore games, but rather to allow casual games to use 3D graphics. Casual gamers will still be casual gamers, but the casual games they play can now be 3D. Hardcore gamers who use overclocked systems with multiple video cards aren't likely to be interested in this, but I could see it being useful for indie games that are more engaging that a casual Facebook game, but not as performance demanding as a competitive FPS.

Firefox has already matched Chrome's speed in the past couple versions so ultimately it's whichever one you like better. I continue to use Firefox because I prefer Awesomebar's behavior over the Omnibar.

Agreed. The Omnibar is f'n terrible.

I tried Chrome. That lasted all of five minutes before I switched back to Firefox and its superior usability.

Unfortunately, the PDF plugin is not very usable. It is slow and every PDF (scientific journals) I opened has weird artefacts. It is a necessary addition however, therefore I hope they will continue to improve on it.

I think the purpose of this is not to compete directly with hardcore games, but rather to allow casual gamesanything to use 3D graphics.

It's not really about games per se at all. Games make an excellent stress test for a lot of basic 3D development. They inherently demo well, have real time requirements, and push on a lot of different parts of a stack. However, in moderation it's not as if there aren't more practical uses for 3D on the web if it was reliable and easy/cheap enough. Many types of shopping would be enhanced by 3D previews of the product, which would both convey more information and be smoother then the current "list of thumbnails from different angles" approach. It'd help preview buildings (be it prospective rentals, purchases or construction). 3D is useful for mapping and many educational programs, but right now that all has to be as part of a thick client. Having it available on the web wouldn't be a bad thing.

All of those applications are limited, and 3D should be viewed more as a minor enhancement to the toolbox rather then some revolutionary game changer. But that doesn't mean it isn't without significant utility, and I don't mind efforts to make it something reliable.

Was curious about bananabread because my kid and I would duke it out in Sauerbraten from time to time since it's easy on the computer and free. Have to admit though, and I'm aware this is rather new, that while it looked like the original it was pretty choppy visually running around with some bots. Is this because post processing is handled differently in the browser? I've a pretty hefty laptop and the difference in gameplay is quite noticeable.

Performance is definitely not identical to the native version. There are a few reasons for that: First, that WebGL introduces security measures that the native app does not (because the native app is not sandboxed, but the web must be). Second, JS, while getting faster all the time, is not identical in speed to native code. And third, simply that this type of game is very new in browsers, so there are various silly bugs that lower performance. (Part of the reason for this demo is to help fix those.)

But overall, I've seen all three levels in BananaBread run very smoothly on reasonable machines, even with those limitations. When you add lots of bots it can get slower though - the goal is to improve that over time.

Firefox has already matched Chrome's speed in the past couple versions so ultimately it's whichever one you like better. I continue to use Firefox because I prefer Awesomebar's behavior over the Omnibar.

Stability-wise, I don't see much difference since the only thing that ever crashes my browser are plugins and those are separate from the main process even in Firefox.

I don't find that quite true. One thing I do every morning is open my daily comics. I just imported Chrome's bookmarks to FF and tried my morning comic load. FF stopped responding while it loaded and then when it did respond, it wasn't happy for a little while. Chrome still performs better for me on opening large sets of tabs at once.

I don't find that quite true. One thing I do every morning is open my daily comics. I just imported Chrome's bookmarks to FF and tried my morning comic load. FF stopped responding while it loaded and then when it did respond, it wasn't happy for a little while. Chrome still performs better for me on opening large sets of tabs at once.

Is this is a clean install and with what plugins?

I tend to open 15-20 tabs at once in Firefox (bookmark folders) and really isn't much different from Chrome (full disclosure, I do have an SSD).

The memory fixes and auto-updates are big features in this release. I've been running Nightly, Aurora, and Beta until 15 released because of the memory fixes. So much better. Especially if you are using a machine with limited memory, Firefox has definitely taken the crown for low memory usage.

And the autoupdate is great so I won't be using a friend's comp and notice they are 4 versions behind...

For anyone that was waiting to give Firefox a second (or first) try, this is a great release to do it with.

It's not really about games per se at all. Games make an excellent stress test for a lot of basic 3D development. ... 3D is useful for mapping and many educational programs, but right now that all has to be as part of a thick client. Having it available on the web wouldn't be a bad thing.

I don't find that quite true. One thing I do every morning is open my daily comics. I just imported Chrome's bookmarks to FF and tried my morning comic load. FF stopped responding while it loaded and then when it did respond, it wasn't happy for a little while. Chrome still performs better for me on opening large sets of tabs at once.

Is this is a clean install and with what plugins?

I tend to open 15-20 tabs at once in Firefox (bookmark folders) and really isn't much different from Chrome (full disclosure, I do have an SSD).

Well, I was doing 45 tabs, and I deliberately left it with plugins on, since FF15 is supposed to handle plugin memory leaks, and that would also be my real-life usage, just like on Chrome.

I find Mozilla's move to improve support for 3D about as exciting as VRML back in the day. It has nothing to do with how I use the web, and if we want to talk about how I game, it'll be a step backwards in performance/latency from native object code executing on my PC's hardware.

Sort of in the same boat.

While it might be interesting for online gaming piped over web, my fear is we see another run of shitty "virtual stores" pop up on the web again. Stupid sites that think it would be cool to make a virtual mall folks will have to virtually trudge through at a snail's pace ... which completely ruins the immediacy of clicking on hyperlinks and rotating images of products.

First iteration of this idiocy died, but, hey, never know. Some start-up guy is probably sitting around trying to relate this to Apple's iPad.

"Windows tablets never took off until Apple made them sexy and functional. Now that we can make a sexy virtual mall online, it's a sure thing! Give me start-up money!"

I'm not opening my about window this time. I want to see how many days does it take to autonotice there is a new version. Using it at home and work.

Will update when it happens.

I got the pop-up notification earlier today (I always turn off auto-updates), probably a good six or seven hours ago. It was a surprise, because clicking on the "more info" button lead me to a page that looked like it was describing the beta version, and trying to do a manual download on the Mozilla site gave me a link to 14.0.1 (or something). So at first, I thought that there was a screw-up in the release channel!

Unfortunately, the PDF plugin is not very usable. It is slow and every PDF (scientific journals) I opened has weird artefacts. It is a necessary addition however, therefore I hope they will continue to improve on it.

Well the facinating thing about it is that its not a plugin at all. The standard pdf reader made by adobe is a native app that runs in the browser like flash. This is run entirely in javascript much like game ported to js. However this wasnt simple ported over but written from the start in js.

This makes it a little slower but basically immune to an entire class of attacks that could come through a native pdf reader. (It will get faster once even more javascript performance improvements land) You are right, its not quite feature complete yet but over the next few versions, it will improve significantly.

Mozilla is also working on other cool js projects like broadway.js and shumway. Broadway.js looks to decode proprietary video and audio codecs (like mp3 and H.264) and shumway is a project to replace flash entirely with js. Will be awesome if they work out!