I browse with a lot of Firefox windows open and each with many tabs.
I probably never have fewer than a dozen tabs open across three or
more windows. Often, I'll have 50+ tabbs open, and usually Firefox
does alright. Some web sites, however, behave poorly. Whether Flash,
not looking at them. In some cases, this is legitimate and
reasonable. I like the fact that Gmail checks for new mail and is
always reasonably up to date. However, several sites use CPU for no
good reason. For example, the old BGG menu system (which Scott has
thankfully replaced) called setInterval with a timeout of
30ms. For a menu system. Other web sites are worse.
Unfortunately, isolating this sort of problem is hard when you have 30
tabs open. I can see Firefox using 50% CPU, but why?
So, someone needs to write a Firefox "process monitor". It's not
processes, but it would provide a few things. First, it would provide
a list of current setInterval and setTimeout calls
by origin, original scheduled time and remaining time. Second, it
would provide some ability to pause (or even auto-pause, when not in
the foreground) tabs from using CPU resources. This would make fault
isolation easier and would be useful to say, pause everything other
than Gmail. Finally, if possible, it would provide some estimate of
CPU usage on a per-open-page basis, like a traditional process
monitor. Right now, Firefox pops up the "unresponsive script" warning
at some threshhold, so I'm hoping there's some ability to measure the
usage in a more granular way. I don't know enought about SpiderMonkey
to know how feasible any of this is, but I really need it, especially
not nearly as much as I'd like. Is there some other tool out there
I'm not finding that offers some of this capability? Anyone care to write one?