scaling issues with multiple tabs open - widget hierachy the cause




Tabbed Browser
13 years ago
12 years ago


(Reporter: Cameron Simpson, Assigned: Ben Goodger (use ben at mozilla dot org for email))


Firefox Tracking Flags

(Not tracked)




13 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; rv:1.7.3) Gecko/20040914 Firefox/0.10
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.3) Gecko/20040914 Firefox/0.10

There are a few different scaling/redraw issues with the browser when many tabs
are open. They all seem to stem from widget hierachy and/or control issues.

To reproduce, open a large number of tabs. Bonus points for opening _just_ enough 
to require the horizontal tab scroll bar.

The first demo involves opening and closing tabs right at that boundary; as the
scroll bar appears and reappears the whole browser clags up as it does redraw or
relayout for _all_ the tabs, not just the visible one.

The funny thing is that no relayout is needed even for the visible tab because
its width has not changed. It only needs to be blitted down a bit.

You can see the same effect if you do a find-as-you-type with the 1.0 firefox;
it pops up this handy dialogue at the bottom of the page, and triggers the same
redraw stuff.

I think most of the inefficiency could be avoided by a simple hack to short
circuit layout requests for background tabs. A trivial:

    if (this-tab-not-displayed) return;

hack at the top.

However, the relayout/redraw for a change merely of _height_ for the browser
window should also be avoided. A little size tracking would probably suffice.

Reproducible: Always
Steps to Reproduce:
1. Go to a site with lots of links (big news page, gallery with lots of
thumbnails, etc)
2. Middle-click to open lots of the links in tabs.
3. Perform various resizing type actions. See high power desktop machines
   stall while pointless redraw/relayout occurs.

Actual Results:  
Redraw is done for every tab.
Redraw is done when it could be avoided even for the visible tab.

Expected Results:  
Only the displayed page should need redraw, and often not even that.
This is an automated message, with ID "auto-resolve01".

This bug has had no comments for a long time. Statistically, we have found that
bug reports that have not been confirmed by a second user after three months are
highly unlikely to be the source of a fix to the code.

While your input is very important to us, our resources are limited and so we
are asking for your help in focussing our efforts. If you can still reproduce
this problem in the latest version of the product (see below for how to obtain a
copy) or, for feature requests, if it's not present in the latest version and
you still believe we should implement it, please visit the URL of this bug
(given at the top of this mail) and add a comment to that effect, giving more
reproduction information if you have it.

If it is not a problem any longer, you need take no action. If this bug is not
changed in any way in the next two weeks, it will be automatically resolved.
Thank you for your help in this matter.

The latest beta releases can be obtained from:
This bug has been automatically resolved after a period of inactivity (see above
comment). If anyone thinks this is incorrect, they should feel free to reopen it.
Last Resolved: 12 years ago
Resolution: --- → EXPIRED
You need to log in before you can comment on or make changes to this bug.