Snappy #43: Big improvements: faster startup? Smoother tabstrip!

Our median startup performance (as measured by SIMPLE_MEASURES_FIRST_PAINT) improved between 20%-25% at the end of Firefox 18 cycle (~Oct 26). Strangely most of the speedup seems to have come from a 50% speedup in library loading (measured by SIMPLE_MEASURES_MAIN).


Bas Schouten landed bug 805831 which should further speed up tab-strip drawing when 2d-acceleration is used. Neil Deakin fixed bug 792296 and bug 752376.

We spent a lot of time focusing on tab smoothness recently. We still have a long way to go, but I checked telemetry data and the improvements are staggering. In the picture below I’m comparing tab closing animation(FX_TAB_ANIM_CLOSE) between 17, 18, 19. In the picture below there should be 0 entries to the right of 154(that’s our problematic performance tail). In 2.5 months, we went from having almost 20% of our tab animations taking > 400ms to complete to ~3%.


In addition to median perf improving, tab animations are now much less likely to vary in duration, etc. This required fixes in layout, gfx, frontend code. It’s really great to see a cross-team effort producing tangible results. It’s too bad that our analysis infrastructure makes it so hard to pinpoint specific changes that contributed most to an improvement like this.


Matt Woodrow improve performance of a periodic table demo in bug 806256. However, performance is still poor on some types of machines, so I filed bug 808838.

Dão Gottwald landed bug 756313 which is similarly to his work in last Snappy update postphones doing content work until Firefox chrome is painted.

Benoit Girard changed the profiler so it now updates the url as the treeview is being navigated. This makes it much easier to discuss what we are seeing in the profile.


Thanks for the feedback on blogging platform alternatives. I turned on a better captcha plugin to deflect spam. A lot less spam gets through now (but I think it’s also preventing legitimate users from getting through). If you are having trouble commenting, use twitter for now.


  1. Thanks for the update.

    Any rough estimates on when to expect OMTC for D3D10/D3D9 to start landing on moz central?

  2. I’m a bit skeptical of the drop in startup speed.

    Notice that the color of the dots changes at the same time as the value drops. The color corresponds to the number of samples we’ve received.

    So presuming that an increase in startup speed shouldn’t cause a huge increase in the number of telemetry pings, something else must have caused that increase in pings. And if we’re seeing changes in how we collect data, it’s not surprising that we’re seeing movement in the data.

  3. Taras, i added a few comments/bugs in your previous blog post. Did you check them ?

  4. The color change is because it’s graphing saved-session pings which got a lot more frequent recently. The same trend is visible for idle-daily. It could be a blip, seems to be consistent across startup measures though no other measure is trending in the same pattern.