GFX Changes in Firefox 13

Every release the GFX team makes major changes to Firefox. By the time the release ships we’re often focused on future releases. Last week we decided in the public Graphics meeting (Join us) that we wanted to go back and announce the changes as they move in the release cycle to bring more visibility to what users are getting when they updating to Firefox 13. We hope to continue these posts every release. Here is the list I quickly put together using a few bugzilla and hg log queries. I tried to cherry pick important changes without any hard set of criteria. This list is far from inclusive. The best approximation of the Graphics changes in Firefox 13 is this.

I would also like to point out that we received major patches from the community in Firefox 13 and that this trend continues in Firefox 14, 15. We are starting development on Firefox 16 so get in touch with us if you’d like to contribute to GFX for Firefox 16.

Changes in Gecko 13

This released we focused on implementing the foundation for Off-main-thread compositing (OMTC). See my blog post for what OMTC buys us. It is still alpha quality but we will be shipping for mobile shortly and are in the process of getting it ready for Desktop:

  • Bug 598873 – Implemented alpha quality OMTC for Mac and Android

Improved our support for macbooks with dual GPU. You’ll find that Firefox will make better decisions about using the integrated GPU for low power usage and switch to the discrete GPU to handle intensive WebGL and plug-ins:

  • Bug 713305, 713305 – Improve dual GPU support on Mac with WebGL

Improved startup performance by optimizating how we query for D3D support on start-up:

  • Bug 722225 – Improve Firefox startup speed by ~5% (-70ms) on Windows by optimizing D3D10CreateDevice1

Updated our Graphics libraries:

  • Bug 721068 – Update to latest graphite2 code from upstream
  • Bug 698519 – Update to libjpeg-turbo 1.2

WebGL Improvements. Anisotropic support has been added. Check out the demo of anisotropic filter and select the checkbox to see the difference. NOTE: Anisotropic is not yet supported on windows with ANGLE renderer but we are working on it!

  • Bug 728354 – WebGL anisotropic texture filtering (Contributor)
WebGL anisotropic support

WebGL anisotropic support (on the right). Click to expand.

  • Bug 676071 – WebGL long identifier mapping (security and conformance)
  • Bug 710594 – WebGL about:memory improvements (Contributor)
WebGL Memory reporting

WebGL Memory reporting (1)

WebGL Memory reporting

WebGL Memory reporting (2)

  • Various WebGL conformance improvements (Bug 730554, Bug 727547) (Contributor)

Added support for apitrace as a debugging tool for powerusers on Android:

  • Bug 674753 – Add support for loading apitrace explicitly on Android
APITrace support for Fennec

APITrace support for Fennec

Various improvements to hardware accelerated compositing for all platforms.
Various improvements to font support.
Various improvements to the Mac Azure Quartz Canvas implementation.

10 thoughts on “GFX Changes in Firefox 13

  1. Ha. That was awesome. I clicked on the demo of anisotropic filter link and heard a fan in the computer run fast until the display shut off.
    Was able to blindly close the tab & put the computer in standby. After powering up again it came up.
    Never seen that before. (AKA “Did you just crash my graphics card?!”)

  2. Benoit, thanks for the update. There needs to be one consolidated post from Mozilla on the changes in every release of Firefox. With the 6-week release cycle, people that don’t follow the myriad Firefox blogs don’t realize the goodness to every release of the browser. Asa, or someone from Firefox project management, would be a great person to pen such a post every 6-weeks.

    • Thanks for the feedback! I will certainly keep pushing. I hope this might help to fight back against ‘update rage’ if users realize how much work goes into each release.

  3. Fair comment Caspy7. Whilst WebGL may be deemed critical by the web intelligentsia, there’s no doubt in my experience, it has caused the only BSODs I can remember ever having over the last several years whether Firefox generated or otherwise.

    Perhaps the GFX team need to put more QA and testing time into new direct hardware access code such as WebGL?

    What happened to the ImageBot (something Bot anyway, not sure of the name) ? Can we still help out testing by using that?

    • We take BSODs, instability and security problems very seriously. Please take the time to report any negative experience you have with WebGL by filling a bug at and file it under Core::Canvas:WebGL. This will help us identify more drivers that are causing problems and find a solution.

      • It’s not really all that easy to report a BSOD. It’s not as if the trackback or feedback or whatever it’s called now kicks in, does it? A lot of people do not have the time or will. For a lot of people a BSOD scares the life out of them let alone causing a huge interruption to their system and day. A lot of people wont even know about how to turn off the auto-reboot after BSOD so do not catch the error anyway. If it’s written to the event log, they might not know how to access that either (hell knows Microsoft’s dialog for event viewing is terrible. Then again, there’s NirSoft’s EventViewer, or is it SysInternals, or both?).

        In addition, I’ve been blackbanned from bugzilla 🙂

        Nonetheless I’d be willing to test once in a while. Merely turning on WebGL on my old Nvidia GeForce 6100 adaptor tends to create a BSOD. Are you even interested in adaptor/driver combinations that old?

    • @pd’s nested comment.

      All we ask is to report your hardware and driver version listed in ‘about:support’. This lets us look into configuration that gives BSOD and disable the feature on that hardware if necessary. Particularly if the BSOD is caused by an old driver.

  4. Magnificent goods from you, man. I’ve understand your stuff previous to and you’re just too great.
    I really like what you’ve acquired here, really like what you’re saying and the way
    in which you say it. You make it entertaining and you still care for to keep it sensible.
    I can not wait to read far more from you. This
    is really a tremendous site.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s