Snappy #42

Vladan Djeric landed a probe to directly measure various DOM Local Storage overheads, bug 802920, telemetry data.

Frontend Speedups

I thought our frontend optimization people did not have spare cycles for snappy UI fixes due to other important projects atm, but they proved me wrong this week.

Jared Wein landed bug 804968 which fixes jank where our awesomebar popup would appear then disappear while typing in the location bar. We were flushing layout for the top and bottom result on each adjustment to the awesomebar results, those flushes weren’t necessary for each time, they are now skipped after the first pass in the browser session.

Dão Gottwald landed bug 752376 which removes some expensive layout flushes when switching tabs if the user isn’t overflowing their tabbar.
Dão also landed bug 715402 which corrects certain initialization code to run after the Firefox is drawn. Previously this code would get delayed, but due to some undeterministic event madness it would still be likely to get scheduled to run before Firefox is drawn on the screen. This should result in 10% faster perceived startups in some cases.

Profiler-assisted Bug Reporting

I looked at bug 642257 and gave up figuring out what causes the problem because I could not reproduce it. I asked the reporter to try to record a profile of the problem with the gecko profiler. Within 2.5 hours of the profile being posted in the bug, Timothy Nikkel identified the problem and posted a patch for it.

I’m very excited about this because the reporter has never used a profiler and yet on the first try helped fix a hard to reproduce bug. Thanks to a dedicated bug reporter, keen layout hackers and our new profiling infrastructure Flash in background tabs will no longer slow down our layout calculations. For many types of bugs identifying the problem is the hardest part, this is very promising.

Moving Blogs Soon

I will be moving to a new blog location as soon as I decide on a better blog setup. I’ve been irritated by WordPress since I started at Mozilla in 2006. The volume of comment spam has increased exponentially this year. After 6 years of suffering a terrible UI, spam, slowness, lossyness, I’m ready to move on to a blogging service elsewhere. If you have any suggestions for blog providers, ping me on twitter as I likely wont see your comment in the mountain of spam.


  1. Not sure if bugs or intended behaviour :

    1. Hovering mouse over the Nightly button (in the top left corner) repaints the whole tab bar. Best reproducible with paint flashing and a single tab open.

    2. In a line of text, selecting a single word repaints the whole line.

  2. Mayank is right, hovering over Nightly button flushes the whole tab bar, even with mutliple tabs. This should not happen.

    Not sure about the whole line flushing while selecting some words is a problem or limitation ..

  3. Ctrl+click on a link on any webpage, repaints the whole page once.

  4. @ Girish :

    with HWA off,your website repaints repeatedly when scrolled up/down. With HWA on, no issues.

    Plus, the horizontal sliding animation in the top causes high CPU usage, (but not jank) with both HWA on and off.

    Using latest nightly on win7 x64 + ATI5470M GPU.

  5. @mayank please file bugs for these observations.