Started by Coldblackice, June 11, 2014, 06:50:51 PM
Quote from: BenYeeHua on June 12, 2014, 06:45:16 AMFirefox?It is because main thread is getting blocked by rendering or JS engine of the content/page you are browsing, and you can only wait until e10s and other thing like OMTC(which is landed on Nightly, and waiting more feature like APZ) coming to released version.Until e10s+OMTC+other OMTx is coming, there is nothing much we can do. (of cause you can change your browser to IE11 or Google Chrome to get the similar snappy feature too) https://wiki.mozilla.org/Electrolysishttps://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositinghttp://benoitgirard.wordpress.com/2012/05/15/off-main-thread-compositing-omtc-and-why-it-matters/https://wiki.mozilla.org/Platform/GFX/APZ
Quote from: Coldblackice on June 15, 2014, 08:06:23 AMAh, very interesting. Thanks much for the info. Too bad this functionality hasn't been available earlier (and even now)!Could there be anything done now to workaround the issue? For example, there's a Firefox addon called "BarTab" that unloads idle tabs after a certain period of activity. When you eventually jump back to an unloaded tab, it's an empty/blank page, but then automatically starts loading the page it was on before unloading.In my experience, however, it seemed unclear if it was actually having a benefit of lightening the resource load. Would this theoretically work to get around the issue? I may take this on as a personal project, if so.
Quote from: BenYeeHua on June 15, 2014, 11:02:15 AMUnload the idle tabs did helps the CPU Usage, but it don't helps Memory Usage as Firefox will cache the data for reopen it back faster.So if your slow down is caused by the GC(which is depend on Memory Usage, more Memory Usage=slower), I think you can only get a fast CPU and RAM to speed up the GC process, or just restart Firefox to unload the tabs, with "Donâ€™t load tabs until selected" ticked, and using Restartless to restart. https://addons.mozilla.org/en-US/firefox/addon/restartless-restart/
QuoteFragmentation of the heap is a common problem faced by C and C++ applications and it happens under certain allocation patterns that sometimes are outside the developer control. For example, consider the following allocation pattern:
Quote from: BenYeeHua on June 26, 2014, 07:31:04 PMYou are welcome. And to minimize the bad effect of higher memory usage which is increased GC time, you can overclock your CPU and RAM.I has compared a bit with the other guy, my little Laptop i5-3210m used 100-180ms for GC, but with the nearly same amount of memory usage, his Desktop i7-3960x just used 10-30ms for GC, which only lost 2 Frame(60FPS, 1 frame is 16.67ms) for GC.And if only iGC happen most of the time, then he is nearly will not notice the stutter.(iGC, by making GC to part, and running it difference time, the GC total time increased, but each time the browser freeze will be reduced)---And ya, Ad muncher 5 will be free, so it is a good choose to replace Adblock Plus which increase the memory usage.But I don't tried yet(as they are preparing the server side to accept more people connecting, or human DDoS ), so I am not sure how it is. http://www.murrayhurps.com/blog/ad-muncher-announcementhttp://www.murrayhurps.com/blog/ad-muncher-history
Quote from: Coldblackice on June 27, 2014, 08:17:07 PMCool! I'm excited to try it out.As for the GC -- how did you do those tests + comparison? Were there tools you two used?I'd like to do that test on my own machine!
Quote from: BenYeeHua on June 28, 2014, 02:21:17 AMYou just need the same Firefox profile(which include all your history, addons etc), and also same Windows, then install Memchaser.https://addons.mozilla.org/en-US/firefox/addon/memchaser/For testing, I think opening some website that having heavy JS(Gmail is a good choose, YouTube too), or just opening many same website/tabs that will increase the memory, when it increased to similar amount of Memory(at least 500MB), click on Memchaser(you may need to click the hamburger menu-customize, and put it on the addon bar etc.), click "Reduce Memory".It will showing GC:XX.X ms, which is mostly happen when you are closing heavy JS tabs.Then just browsing normally(like me typing now ),after a few seconds, it should be showing iGC:XX.X ms, and this is mostly you wanna care about. If you are interesting about lower Memory usage will getting what result, just open the Firefox, then click on "Reduce Memory", and see how much the GC time is.----And ya, by switching to Windows 8+(If you are using Intel CPU), you should seeing some performance increase too.
Quote from: Coldblackice on July 27, 2014, 07:01:59 PMThanks. Is there anything I can do to improve it? Or how can I find the specific culprit that's causing the problem?
Quote from: bitstuart on March 04, 2015, 10:53:44 AMsome very insightful information here. Thanks, definitely learned something this afternoon!
Quote from: Coldblackice on March 12, 2015, 02:15:54 PMAgreed! I was just on my way back here to ask Ben and others if there have since been any developments in this realm of tabs/memory/cache load with Firefox. It's still a daily frustration that Firefox begins to break down under tab load, necessitating a restart. I would *love* a way to clear out the cache "live".I've been contemplating coming up with a solution to this for some time now. The basic principle I think would be key is the ability to unload unused tabs, reloading them upon revisiting the tab. I don't understand why this wouldn't be feasible.In this same vein, an alternative is, when ctrl-clicking tabs you want to read later, instead of opening the tab and browsing to the page, it instead adds the new-tab to a "queue" that can be opened any time later -- either merely adding the tab to some list of links like read-it-later, or opening a new tab but preventing it from actually loading the page right away.Thoughts/ideas anyone?
Quote from: Jeremy Collake on March 12, 2015, 02:26:46 PM... And an interesting side-note, for those not aware, is that Google Chrome, being one of the few Windows applications that forks itself (spawns new instances of itself that share memory), uses a ProBalance-like mechanism to keep it's background tabs 'in check'. I'm sure Firefox does something similar on a thread priority level.
Quote from: Jeremy Collake on March 12, 2015, 04:43:47 PMInteresting, and thanks for starting this thread.I think FireFox-centric SmartTrim handling may be possible. I'll do some experimentation and get user feedback.