h a l f b a k e r yFlaky rehab
add, search, annotate, link, view, overview, recent, by name, random
news, help, about, links, report a problem
browse anonymously,
or get an account
and write.
register,
|
|
|
Someone who has a very fast Internet connection will probably not need this Idea. But anyone with a dial-up connection (and lots of people still have that) might find this to be occasionally useful.
So I fire up my browser and open a bunch of tabs and start a bunch of pages loading. The multitasking
operating system will tend to spend about the same number of CPU clock cycles per second, loading data into each tab separately from the other tabs. This might mean that if one page takes 10 seconds to load, then if I specify 10 tabs and each one loads a similar page, I might have to wait about 100 seconds before actually being able to make sense of any of the pages.
What if I want one page to load faster than the others? Sure, I could have simply waited for that one page to load in one tab, before opening any other tabs, but why should I change my browsing habits when I can simply request a new browser feature?
While the Stop button that every browser has will cause a page to stop loading, the Pause button would simply cause a pause in the loading of page data into the current browser tab. A configuration setting could let specify the duration of the pause, say 10 seconds. This frees up CPU clock cycles so that other pages can load faster, into other tabs.
Now all I have to do is make sure I only click the Pause button on pages OTHER than the one I want to load fast!
[link]
|
|
The pause that refreshes? (+) |
|
|
Maybe what you need is a 'prioritise' button on the tab you want _first_, rather than have to pause all the others. Once the target page has finished loading clock ticks get distributed equally among the remaining tabs until you choose another tab to prioritise. |
|
|
I guess it depends where the bottleneck is. |
|
|
If it's CPU cycles, or the browser itself is rendering multiple pages then maybe all that is needed is a particular algorithm within the browser. |
|
|
However, if it's a network issue, then to favour one page over another, you would have to get your instruction into the network - basically getting the routers to apply QoS rules based on content (or originating address). |
|
|
If a page has multiple images and other embedded content, then the page won't finish loading until all content has loaded. |
|
|
One simple way to partially implement a "pause" feature, would be to tell the browser not to initiate any new connections for loading content on that page, until the page is un-paused. |
|
|
To truly pause the loading of a page, the browser could also choose not to read data from any of that page's associated network connections. |
|
|
There's a downside to not reading from open connections, though. Eventually, the data buffers associated with those connections become full on both the receiving and sending sides. If it doesn't check for the socket being write-able, the web server will block when trying to send more data to the browser -- that's usually a bad thing. If it does check the socket for writability... it will perceive the connection as not write-able, and will stop sending data to the browser. |
|
|
Depending on how it's programmed, the server might choose close the connection a certain amount of time after this occurs. And if the server closes the connection, the browser will need to re-connect when the user presses unpause. |
|
|
Also... I think it would probably be a good thing if, when all un-paused pages finish loading, then one paused page (selected by some priority, or by which window is in front of others) automatically become unpaused. |
|
|
[goldbb], as you probably know, most computer keyboards have a Pause button on them, but also most software tends to ignore that button. Software that does pay attention to it generally does an unlimited Pause. Personally, I think a timed Pause would be best suited for this Idea, partly because I was already aware that a too-long Browser Pause could result in a closed connection by a web server. |
|
| |