Closed Bug 358905 Opened 18 years ago Closed 14 years ago

Entire browser lags, when several tabs are being loaded/rendered at the same time

Categories

(Firefox :: Tabbed Browser, defect)

2.0 Branch
x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jsimlo, Unassigned)

Details

(Keywords: perf, Whiteboard: [CLOSEME 2010-10-15])

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0 When you load several tabs in a short time (a good example is opening 15-20 links of recent changes in a wiki using mouse gestures which open each link in a new tab), the browser first waits for server to response and then it stops responding, when the large amount of data starts arriving simultaneously. It keeps lagging until most of the tabs are fully loaded. I guess it is because all the tabs are handled in the single processing thread, affecting all the other tabs and windows, even those, that are already fully loaded and rendered. This prevents the user to scroll and read the already loaded text, because there are things loading somewhere in the background. Reproducible: Always Steps to Reproduce: 1. Use mouse gestures to open links in tabs or use bookmarks and click "open all in tabs", when there are 15-20 links to recent changes of wikipedia.org. 2. Wait until the server starts sending data. 3. Try to scroll in the already loaded tabs, while the other tabs are still being loaded. You may need a good connection speed in order to allow the amount of data to arrive. Actual Results: The entire browser stops responding for a while or lags a lot, preventing the user to scroll the text or switch to other tabs/windows. Depends on how many tabs were opened and how long are the pages being loaded. Expected Results: Other windows and tabs should remain unaffected, especially those, that were loaded a long time ago. No other extensions add-ons were used than mouse gestures. I suggest, that each tab should load and render in a separate thread. This would prevent the lagging of the entire browser, when one tab stops responding for any possible reason.
*** This bug has been marked as a duplicate of 40848 ***
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
With only one CPU, the problem you're seeing may not be solved by threads. If some unit of computation is too long, starving the UI, then hoping the thread schedule preempts the CPU hog and runs another thread may be hoping in vain. On the other hand, if there's something we could do to service events even when loading 15 to 20 tabs, we should do it even with today's main-thread-mostly, non-blocking-i/o execution model. So I'm not sure this bug should be dup'ed just because comment 0 prematurely jumps to the "threads solve UI starvation/lag" conclusion. /be
Interesting. So maybe this should become a metabug for computations that are not as interruptible as they should be? Do we have a good way to tell when some C++ code runs for over 500ms without allowing events to be processed?
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
> Interesting. So maybe this should become a metabug for computations that are > not as interruptible as they should be? Do we have a good way to tell when > some C++ code runs for over 500ms without allowing events to be processed? well, what about calling the interruptible system api (which reads the data) for smaller chunks of data.. if reading file (or socket) is an uninteruptible process, then it should be read in smaller parts. do not tell me, that because of loading a 300mb large file, your entire computer must stop responding for a while.. because it usually does not..
still see this? (In reply to comment #0) > I suggest, that each tab should load and render in a separate thread. there is such a bug iirc. dup to that?
Keywords: perf
Version: unspecified → 2.0 Branch
Reporter, are you still seeing this issue with Firefox 3.6.10 or later in safe mode? If not, please close. These links can help you in your testing. http://support.mozilla.com/kb/Safe+Mode http://support.mozilla.com/kb/Managing+profiles
Whiteboard: [CLOSEME 2010-10-15]
I have been told, that firefox now uses different threads for loading and rendering pages, allowing you to keep reading/scrolling while other tabs are at work. If this is the case, and I have not registered an unnecessary lag for a while now, then I think it works for me and this issue is no longer relevant. Closing. Later, I can try some advanced attack method on the current version to actually verify, that I can keep scrolling one tab even while other tab is loading some heavy page. If I come to conclusion that it is not working under heavier load, I'll report it as a new and more specific issue.
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago14 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.