All About Performance

and other stuff by Taras Glek

Snappy #44: Fixing Tab Switching in Vancouver

I joined our GFX+Layout teams for a workweek in Vancouver. Since profiling is most effective on slow machines, I brought along my trusty Acer  Aspire 722(slow 1.3ghz  CPU+ fast GPU) as my primary laptop. This hardware is great because the combination of a weak CPU + decent GPU means that if we accelerate things right the browser can perform quite well and if we don’t, things get really slow. (analogous situation exists when fast CPUs are matched with slow GPUs).

In the beginning of the week I quickly demoed menu lag, slow gmail tab switching(811472). Later in the week we looked at problematic Facebook tab switch times (811474), Australis(see Matt’s post) performance. By the end of the week tab switching improved by over 2x for both facebook and gmail. I don’t have exact figures because while we can measure general tab switch trends via telemetry, there isn’t a convenient way to do it on individual browsers yet. Help wanted: would be great if someone could do up a barebone addon to monitor tab switching in bug 812381, we’ll fill in the rest.

Jeff Muizelaar started out by speeding up checkbox drawing in bug 809603. Matt Woodrow sped up gmail by tweaking how we use layers in bugs 811927,  811570.

Matt made sure that we no longer draw layers with opacity of 0 in bug 811831. Turns rendering lots of invisible text can be expensive.

Workweeks are a more about communication than getting code landed, so it is impressive that Jeff, Matt and their reviewers managed to diagnose, fix, review, land such significant optimizations in a couple of days. My laptop of pain feels much faster already.

In the coming weeks expect to see smoother tab switching, smoother animations, lower profiling overhead as we work through issues discussed during the workweek.