Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • December 09, 2016, 01:29:27 PM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Browser CPU - the Firefox perplexity - Chrome threading architecture  (Read 1623 times)

Steven Avery

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 852
    • View Profile
    • Donate to Member
Hi Folks,

First, I still like Firefox immensely, the extension capability is so good that a smart extension choice goes a long way.  

Firefox separated out the processes on extensions to a separate plugin-container.exe . I think that means that if an extension goes haywire .. you can kill the process (or it can kill itself) and your Firefox windows stay up.

However usually the problem with Firefox is in the firefox.exe CPU.  Which can quickly be in th 30-70% range of CPU, with a few dozen windows open.  (These are not flash-y type pages, normal stuff, Forums, and Groupons and google books.)

Chrome uses a different architecture, I think each window open gets a thread under the windows OS as you see in task manager.  That is nice (especially if you could see what the thread is doing) for killing one aberrant CPU window, it also is Task Manager clutter.  An interesting approach.

Now I wonder why CPU goes so haywire in Firefox (memory usage can also go very high, like 500K .. but that can be reduced with Cleanmem and is not much of a problem anyway).  CPU usage will slow the system tremendously.

However, isn't the internet architecture supposed be stateless .. nothing is really supposed to be happening with open windows .. they are just "there".

btw, Opera does not seem to have any severe memory or CPU problems in my usage, however it is in only moderate use .  It is my #2 browser (e.g I like how it handles PDFs internally, which is good for bookmarks) and very fine, it is just that the wide-ranging extensions do not exist.  It also seems to be a bit less Linkman friendly (sometimes the focus is not there for Linkman on the current window) which for me is a factor.  Firefox is super-friendly to Linkman.

Granted, one way of getting around the Firefox problem is to close lots of windows.  Or simply kill and start fresh with a new session.  However, I do wish it were more CPU friendly.

As an example .. today it was just at some high-CPU (50+). I killed it and allowed it to restore the windows with session manager (usually I start fresh) but it is still at 30 .. quite high.  Now I will go in close.   

btw, I have the feeling that certain sites might be especially CPU unfriendly.  scribd .. a book reading site, I suspect.  If there was a debug-type utility that analyzed the Firefox CPU (and memory too if possible) that might be nice.

Your thoughts ?

btw .. All this is on my XP puter.  
Perhaps switching to my Windows 7 puter for main work would help.

Steven Avery

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,029
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Browser CPU - the Firefox perplexity - Chrome threading architecture
« Reply #1 on: July 20, 2011, 11:42:15 AM »
Firefox separated out the processes on extensions to a separate plugin-container.exe . I think that means that if an extension goes haywire .. you can kill the process (or it can kill itself) and your Firefox windows stay up.
AFAIK that process is only for plugins (flash, java, adobe reader), not addons.

Chrome uses a different architecture, I think each window open gets a thread under the windows OS as you see in task manager.  That is nice (especially if you could see what the thread is doing) for killing one aberrant CPU window, it also is Task Manager clutter.  An interesting approach.
Process, not thread :) - a process is what you see in task manager, and those can have multiple threads running. Yes, an interesting approach, but also one that means Chrome sucks up a lot of memory, and wastes a bit of time (though not that much) on inter-process communication. Newer versions of Internet Explorer use an interesting hybrid: it runs multiple processes, but each process is responsible for more than one tab. That does mean one hanging website can take out a few others, but it's better performance-wise.

Now I wonder why CPU goes so haywire in Firefox (memory usage can also go very high, like 500K .. but that can be reduced with Cleanmem and is not much of a problem anyway).  CPU usage will slow the system tremendously.
Bad addons, usually. Memory leaks and whatnot. A tool like CleanMem is snake oil, it doesn't really free up memory, and it does nothing the Windows memory manager can't do it self.

However, isn't the internet architecture supposed be stateless .. nothing is really supposed to be happening with open windows .. they are just "there".
Sites can be running client-side JavaScript. The usual problem is Flash, though - it just sucks up CPU time like there's no tomorrow. Get in the habit of blocking flash apps by default, and allowing them only to run when you need them... helps prevent against drive-by exploits as well.

I don't see abnormal CPU usage with the FireFox installs I have, but I do see lots of memory leaks because of addons. I've kinda learned to live with it :)
- carpe noctem