Pushing the borders [out] of Firefox performance

As I mentioned before, we are back to investigating some gfx deceleration issues. Preliminary investigation shows that our border+gradient code is inefficient and since Firefox uses these features heavily, we get some epic slowdowns when tab switching.

To test out this theory Bas put up a test build that simply does not draw gradients or borders. See bug 75087  for a screenshot demonstrating drastic reduction in browser attractiveness. There is also a test build for people suffering from slow drawing to try out.


  1. It’s not as pretty but it’s not horrible either. I bet it’s still rather functional as well. In fact, add a few solid line separators and it would be a pastel version of Microsoft’s Metro.

  2. I prefer it without gradients much cleaner and less catch my attention so I can concentrate better at work.

  3. I honestly don’t see much difference apart from the nightly button and an overall darker shade of gray for the tabs. Everything else looks ok.

  4. I don’t get it. You use the gpu so you can offload most of the graphics to it right? So why does D2D use _more_ cpu?
    Games run better with gpu instead of cpu and look 1000 times better than a simple browser.

  5. […] painting overhead in accelerated versions of Firefox is spent rendering borders and gradients. I blogged a little about this earlier. It’s a combination us not caching gradients and being overly […]