Closed Bug 356484 Opened 18 years ago Closed 17 years ago

run tabs/windows in separate threads/processes

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 40848

People

(Reporter: florin, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060913 Fedora/1.5.0.7-1.fc5 Firefox/1.5.0.7 pango-text
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060913 Fedora/1.5.0.7-1.fc5 Firefox/1.5.0.7 pango-text

Would it be possible to run each tab and/or window in its own separate thread or process by default?
Currently, because all tabs run under the same process, opening several tabs with complex pages slows down the whole browser. Example:
- go to Slashdot
- open a few links from the main page (articles on other sites linked to on Slashdot) in tabs
- go to Digg
- do the same
Often, after opening a dozen tabs or so, the whole browser is so slow, it's almost totally frozen.

Sure, it might be Flash that contributes to the load in that scenario, but here's another one:
- go to Slashdot
- open several discussion pages (not the articles, but the discussions)
If the discussions are big enough, the whole browser slows down a lot until all tabs are rendered.

Running each tab and/or window in a separate thread or process would decouple the CPU-hungry pages from the rest of the browser and will let the OS scheduler deal with the overload. OS schedulers are pretty good at that. Moreover, recent systems with multiple CPUs and/or cores should be very good at dealing with multiple processes or threads competing for resources.

Reproducible: Always

Steps to Reproduce:
1. see above
2.
3.

Actual Results:  
Firefox slows down almost to a halt

Expected Results:  
An individual tab and/or window should not be slowed down if another tab or window eats up a lot of CPU. It's not the brwoser that should deal with distributing resources, it's the OS scheduler, which is much better for this job.
Here's other reasons:

1. I right-click on a link, select open in tab
2. While the new tab is opening in background, I start scrolling down the parent page.
Because all tabs run in the same thread/process, if the child page is big and complex, scrolling down in the parent tab is not smooth.

1. Play a video or a song in one tab (via Flash or other mechanisms)
2. Open another tab with a page that's big or complex
Result: the video/music will have dropouts, will stop playing for a while, etc. Very unpleasant.

1. Install Forecastfox
2. Type in a text entry form, like the one I use now to fill this bug report
3. Forecastfox brings up the Alert Slider
While the slider is going up or down, the user interaction with the text entry is very rough.
Same if a video is playing while the slider moves.

So probably extensions should also run in their own separate threads or processes?
The submitter's arguments sound very logical to me. I assume it's rather hard to implement this, but could a developer look into it?
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.