Open Bug 534601 Opened 14 years ago Updated 1 year ago
Firefox should be able to swap tab content
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:22.214.171.124) Gecko/20091102 Firefox/3.5.5 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:126.96.36.199) Gecko/20091102 Firefox/3.5.5 Firefox, and beyond that example, all browsers, are becoming more and more a kind of OS. This (web-oriented) OS provides, for example, features for accessing/dealing with web resources. And more and more features are added: for example, web worker introduction brings on table background computation capabilities (~ asynchronous capabilities). Then, IMHO, a browser should adopt OS features when it makes sense - or, to say things differently, OS features may be a source of inspiration in case of browser problem. And tab swapping could be an option when too many tabs are open. Let's imagine an implementation for tab swapping. I could imagine a LRU implementation so that if a new tab is open, while N tabs are already existing, the older tab (or the less used tab) could be swapped; that is, the content may be cached on hard disk and flush from memory in order to not to increase memory consumption, and to stop this tab's activity and to speed up other tabs' activity. I imagine this swapped tab to remain open, with correct address into the address bar, but associated with a content to reload from disk if the user wants to select it. Reproducible: Always Actual Results: Firefox slows down when too many tabs are open. Expected Results: While Firefox, and more than that, all browsers, are becoming more and more a kind of OS, they should have swapping capabilities.
This report does not really cover a problem, but instead proposes one possible solution to the problem "Slows down when too many tabs are open". Could you please update to a recent and supported version (see http://www.firefox.com/ ), test this again, and tell us your version and exact steps to reproduce?
Version: unspecified → 3.5 Branch
> This report does not really cover a problem, but instead proposes one possible solution to the problem "Slows down when too many tabs are open".
Sure, as it was an enhancement proposal ;-)
The initial pb was that Firefox slows down in case of too many **active** tabs. So, my initial idea was, under some circunstances to define, to remove in-memory bytes from the less active tabs and to put them on drive. As a browser is a kind of web OS, it sounds logical to have some swapping mechanism (to swap some bytes from memory to drive).
And when one of these previously swapped tabs is selected by the user, the browser should be able to swap the corresponding bytes, but, here, from drive to memory, again as a (web) OS.
I am using the beta Firefox channel, and I am still experimenting some Firefox slowdown in case of too many active tabs open (I frequently use a **lot** of tabs). Example : too many tabs loading a lot of images when I am browsing timeline or history.
These days, I have simply found 2 ways to clean my mess.
1) when I want to close some open tabs
Less open tabs makes often Firefox more happy and more responsive.
2) when I don't want to close some open tabs
Today, as the latest versions of Firefox use lazy activation of tabs, there is a way to bypass the pb. In case of too many loaded/active tabs, and FF slowdown, I simply close Firefox and open it again. So, this stop/start episod makes all the tabs passive (but there are still there), and only the tabs I use next will be activated by Firefox. This goes on until the number of activated tabs grows too much, so I may need again to stop/start Firefox... Well, you see the plan.
There is bug 675539 for suspending/hibernating tabs which seems to match this bug description. While it's open an extension does this at https://addons.mozilla.org/en-US/firefox/addon/suspend-background-tabs/ and there is also https://addons.mozilla.org/en-US/firefox/addon/the-grim-tab-reaper/ to automatically close and bookmark tabs after a longer period.
You need to log in before you can comment on or make changes to this bug.