Generational GC has landed in Firefox
blog.mozilla.org
blog.mozilla.org
* In the e10s-addon-docs etherpad, it says that you expect a solid browser (ignoring addons) in Q2 and then with complete addon support in Q4. Is this still the plan?
* Will e10s include a task manager for e.g. identifying resource heavy tabs? I couldn't see anything about it in the GDoc backlog spreadsheet.
Thanks for your hard work on this project! I know many who are rooting for its success.
The work to implement a tab task manager is tracked in https://bugzil.la/515352. This is a lower priority because it's not strictly necessary for basic sandbox functionality. Also, e10s currently runs all tabs in one sandbox process. This gets us sandbox security and jank-free UI without much memory overhead. We will eventually ship 1:1 or M:N tabs per sandbox processes.
The major issues is some tab confusion (phantom, unclickable tabs), many "new tab" after session restore and occasional problems with context menus. I did use Tree style tabs and some other non-content related plugins and they mostly work.
I wonder how much more memory can actually be saved in Firefox.
But after all the bugfixes and everything Firefox is still no snappy. And they landed that Hideous Australis UI.
I want a practical browser that does what I need it to. Yet with each new release of Firefox we tend to see further useful functionality stripped away, additional config panel options removed, and the UI dumbed down in one way or another. So whenever an update happens, it's off to searching for add-ons to basically undo whatever unhelpful changes the developers have just made.
Add-ons and customization should be there to enhance and already good piece of software. They shouldn't be there as band-aid that's applied to fix the numerous mistakes and bad decisions of the software's developers.
I find that with every release of Firefox, I need less and less addons. Better dev tools? Okay, goodbye Firebug. Download popover instead of a different window? Goodbye DownloadStatusBar. Australis? Goodbye Firefox-button mover and FXChrome (I use Tree Style Tabs, but FXChrome make everything else look prettier anyway).
In KDE I can hide the FF window decorations, and it then uses no more real estate than Chrome, while still offering a better native UI. I'm just crossing my fingers that any UI changes in FF don't negatively impact us Linux users or drift too far away from native widgets.
I get frustrated because all the people who complain about the new Ausrtalis UI seem to want to drag FF back to the oldschool Netscape/IE6-looking thing. I think FF's UI is in a perfect place in the current version - clean, crisp, and compact. My only complaint about current FF is the redundant "bookmark-star" button in the Address bar that I'm constantly accidentally clicking.
In order to fix it, they first should provide a compact version: same button sizes on the toolbar, smaller and better looking tabs, less wasted space between interface items.
Which would be justifiable (not good, but justifiable) if there was a tablet where Firefox would actually be usable.
Whilst the new UI is a little bit of an improvement on touch devices, it still kind of sucks. The main problem is the poor scrolling performance of FF though.
Sure, they can make a touch-friendly interface, but they should just put in behind a flip switch in the options. Using the mouse for half a minute to enable it will not break anyone's hands. Best way to feed the goat and keep the cabbage.
#1: guessed the numbers, but I will eat my non-existing hat if the touch screen monitors are over 5%
Taking less space, and looking nice is one thing. Easy to use is another thing.
Mozilla, fighting against a current to open source the only proprietary competition to Internet Explorer in its day, has spent over a decade improving a lot of old, ugly code, and making not just a good (maybe not great to you, even if it is to me; I will try to word it fairly) browser, but a spate of technological advances and solid policy positions.
Chrome and Google might be the new hotness, but I respect how much Mozilla has done with Firefox, and how they take their time to make the right choices (to them, you might not agree; that is ok).
And if you think moving the whole underlying architecture of a widely distributed browser is an easier milestone than changing a skin that runs an easily prototyped UI in Javascript (XULRunner), I strongly encourage you to download the source, read the very solid documentation, talk to the community, and compile.
I know your attitude re Firefox is commonplace, but as a younger hacker I am disappointed how people think their more-than-a-decade long project to build a browser is just not fast enough.
Now only if they would get their crap together with the X11 server ...
(Yes, that was a joke, just to be clear.)
* Hitching and lagging coinciding with dumping tons of garbage into my syslog [1]
* A six year old bug whereby duplicate SSL certs result in a page not being able to be viewed. No override, no nothing. [2]
Meanwhile, the Chrome UI is minimal but fast, and doesn't seem to have fallen victim to the "redesign for redesign's sake" that seems to be plaguing many open source projects (Australis is downright ghastly), my required plugins work without the lag, and bugs that hamper basic functionality don't sit around unfixed for half a decade! Or even a full decade in some cases!! [3]
Maybe I sound entitled, but that second bug in particular is downright infuriating (HP iLO simply cannot be used), and the fact that it's been sitting untouched has unfortunate implications for the dev culture at Mozilla. And don't say it's been forgotten about in a backlog either - read the history and you'll see instances of tickets being marked a duplicate of this one, so the awareness is there.
Firefox may be an amazing hammer, but I can't use it and can't recommend anybody else does either until it stops embedding splinters in my hands.
[1] https://support.mozilla.org/en-US/questions/984296
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=435013#c15
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=435013
Huh, first time I've ever been downvoted for saying that bugs suck.
I mean, we're not talking about something taking a couple of extra clicks here. We're not talking about a minor annoyance. We're talking about affected webpages being completely unviewable. Full stop. Just like that.
But doing good in the past simply doesn't mean everything. May be people hold different standard. But to me and a lot of others, Firefox today is the slowest browser of all, be it Safari on the Mac, IE on Windows, or Chrome/Opera on all Platform. And just a reminder Chrome was released on September 2008. And in many ways Firefox still cant match Chrome snappiness. 6 years! That is an awfully long period in tech industry.
Unity is one example of this - they use the Mono runtime and their scripting is based on .NET so browser-targeted Unity games will have GC pauses even if they use asm.js.
Lots of modern 'performant' games are written in Java or C# and in those cases too, you have a GC and occasional allocation/freeing of memory, however they do tend to make an effort not to allocate from frame to frame or allocate temporary objects.
For console games it's definitely false that they don't release memory; memory usage has to be precisely controlled on console so subsystems that don't happen to be using memory at the moment are definitely not holding onto it - that memory's being used for something else.
I keep wondering whether it is possible to write a game like BattleField4 or Crysis in Java/C#/etc. Do you have any insights on this issue?
In the best case scenerio, it's the same amount of work as writing one in C++. The benefits and nice features of those languages would cancel out the drawback of lack of control.
In the worse case, the lack of control means you can't use the features of those languages which would make development easier, and you'd miss C++'s low level features which have no equivalent in higher level languages.
Since the reality is somewhere between these (in my experience, it's pretty close to the worse case), and implementing a high performance game engine is such a large task, it's a much better engineering decision to just go with C++ (or another language which allows a similar level of control) from the start.
For comparison, on my machine maps.bing.com is about as fast in FF as in chrome (panning around is about as snappy), whereas IE11 is much faster (it's a little snappier in gmaps too).
In other words: IE on bing does notably better than IE on google; and chrome on google does noticably better than chrom on bing. It's not hugely surprising - all three browsers can be quite snappy if you profile and ensure you miss various slow paths, and of course MS + google make sure their mapping services work well in their own browser.