> Dietrich Ayala has a Firefox profile with 1,691 open tabs. With Firefox 54, starting up his instance of Firefox took 300 seconds and 2 GB of memory. Today, with Firefox 55, it takes just 15 seconds and 0.5 GB of memory. This improvement is primarily thanks to the tireless work of an external contributor, Kevin Jones, who virtually eliminated the fixed costs associated with restoring tabs.
This sounds more exciting to me than WebVR. Great work FF team.
While Opera might have had some very impressive tricks (I should know, I used it for years), the reason it could do that at the time is because those tabs were not webapps or much fewer were webapps.
The browsers are a lot less bloated than people think they are. Sites on the other hand... we've moved from 800x600 images to 1920x1080 images and animations, tens of assets to hundreds, megabytes of Javascript, etc.
What's really exiting is the improvement in start-up time, which was abnormally high for this use-case.
Firefox can handle 200 open (rendered / active/ responsive) tabs for a very long time now.
Source: when I'm browsing news sites or community sites (9gag, reddit, HN) I usually scroll the main page looking for stuff that looks interesting and open them in new tabs. I don't always open 200 tabs at once but it definetely happens from time to time. I'm using a desktop from 2009 with 4GB of RAM and and a dual core CPU in case you're wondering.
I'm using 55 and am really impressed. Startup times have improved.
A nice UI feature is in Settings -> General -> Performance.
I still notice, compared to Chrome, that if I use 1 content process, no matter how many tabs I have open, or how many I have closed, the process just grows and grows over time. In contrast, Chrome may use more memory but its size dependably follows the number of tabs open / closed.
Even though FF is recommending 1 Content Process now as default on my low spec machine, I have set it to 2 to increase the likelihood that one of those processes has no tabs, and gets destroyed, along with whatever garbage accumulates.
I think Mozilla could do more research on migrating tabs to processes to minimize memory usage, and accumulated garbage from the runtime that doesn't seem to be collected. Perhaps after a certain threshold (time, size) content processes should be destroyed and tabs migrated to a new one.
I use e10s for about a year and I have processCount set to 4. It worked almost flawlessly and content process crashed maybe 1-2 times in this time.
I enabled "Recommended performance settings" and Firefox changed processCount to 1. I have dual-core (4-thread) CPU so I think they don't use number of cores as base for this setting but make some A/B testing on users.
Check in about:config 'e10s.rollout.cohort' and 'extensions.e10s' and you will see that every user is put in some kind of testing 'bucket'.
No, the number of processes is already at its intended value for the near future, as of Firefox 54. The default just varies for different hardware. If you look in the Firefox settings under General -> Performance, then it says there that it's optimized for your hardware, so I'm pretty sure that's the case and not just marketing fluff.
What I'm not entirely sure of, is how it's decided how many processes it uses. I think it's either largely dependent on the number of CPU cores or just straight-up that value. And then the vast majority of people has a quad-core, which is why it might seem like 4 is the default for everyone.
Great to see FF continue to progress. I moved back to FF from Chrome when I ditched a Win7 install for Ubuntu after building a new computer. It hasn't been without issue, but I'm enjoying FF and very happy to see it evolve.
If it continues through beta just fine, looks like media.block-autoplay-until-in-foreground will finally ship [0]. This is something I've been tracking through [1] since it was called out in the 54 release notes although it was not actually released. I was always a bit surprised that this wasn't the default behavior as it was in Chrome. Major use case for me: queuing up several YouTube videos from either search results or directly through the list of a users videos.
[2] "Firefox Fights Back: Inside Mozilla, CEO Chris Beard and his team are preparing to outmaneuver Google’s Chrome browser" is linked from the submitted article and looks like an interesting read. Only got a few comments on HN when it was submitted 5 days ago.
I'm very glad they've drastically reduced the resources taken up by restored (but not activated) tabs. I tend to hoard tabs which I swear I'll organise into bookmarks "soon" but never quite get round to it.
It's a problem... I just ended up accepting who I am and gave up on bookmarks. I have a single bookmarks bar for frequently-visited websites like email, webcomics, aggregators, blogs, etc.
It's populated with just favicons, no labels. And then, spread between 4 virtual machines, I have Firefox instances that each contain on average 20-200 tabs at a time.
It takes me weeks to whittle these down only to have them drastically inflate again. On the rare occasion a bug / data corruption leads to losing my tabs on one of my machines, it's more relieving than anything else.
I've been using it for the past 3 months as my primary browser. The mobile experience is superior to Chrome, in my opinion. (Particularly, the reader mode on mobile makes certain sites usable due to lack of JS, and proper font sizes.)
Firefox for Android also has extension support, including uBlock Origin, HTTPS Everywhere, and the Unified Script Injector (userscript engine, similar to Greasemonkey).
The mobile version is generally okay, but it takes way way much more than safari to start up, which absolutely sucks when you just when to quickly look something up.
I do, actually. But I really like to keep a history so I can later recall what I looked up (or sometimes, the other way around: I need to look at my history).
Facebook and Google have been pretty high-priority targets for improvement as part of the Quantum Flow project, so don't be surprised to see them get better in 56/57. As a Firefox nightly user, Google Docs/Sheets is night and day better than it used to be.
Linux (and macOS) should work on Firefox Nightly. For both, the Valve services are currently in beta and we can't really ship something that relies on beta drivers past our own beta releases.
If you encounter any bugs on Linux or macOS in Nightly, please do report them! The team is awesome about testing and fixing them. That said, the VR & driver/OS stack for support on those two platforms is still seeing a lot of flux and is not yet at the same level of performance and stability as Windows, depending on which particular version you grab.
It spams "[GFX1]: SharedSurfaceType::Basic not supported for WebVR" to the console and doesn't send any frames to the SteamVR compositor.
And as I understand it, the OSVR implementation never even bothered to implement OSVR-Rendermanager support, let alone fix the tab crashing after 1-2 seconds.
I'm pretty sure they all know it's broken. A while ago kip said he wanted to work on OSVR "soon" and later that we could expect WebVR on Linux "soon", but it looks like he is literally the only one who wants to work on it and doesn't have the time, at all. After all it's still an open bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1310663
Sorry for my ambiguity here! On Linux I specifically mean OpenVR support. We're currently looking more at OpenXR as a cross-device solution rather than investing more on OSVR, though certainly if more devices that can only work on OSVR appear we could resource additional investments.
That particular work is fairly well-separated from the rest of the core of Firefox and doesn't require somebody like Kip or Daosheng with years of experience hacking on VR hardware.
Perhaps what I said was ambiguous. The error message is from the OpenVR support.
The OSVR support wouldn't have such an error message because the rendering support wasn't implemented in the first place.
I understand the reluctance to spend time investing in it, especially when developers say the OSVR-Rendermanager API and the OpenGL context sharing is awkward to use, but what's the point in investing in it in the first place, with a big announcement from Sensics http://sensics.com/osvr-comes-webvr/ etc?
The thing is, at the moment the only OpenVR implementation is the proprietary SteamVR runtime and it looks like it's unlikely that anyone will implement a FLOSS OpenVR runtime. Isn't Mozilla usually all over libre stuff like OSVR?
Not even ideologically, imagine you're buying a Talos II POWER9 Workstation, plop a Vega 64 in, compile firefox, connect your HMD, and what's that? SteamVR is only available on x86? Tough luck, no WebVR for you! Meanwhile you can compile OSVR for whatever architecture you like.
> though certainly if more devices that can only work on OSVR
There's no such thing because with SteamVR-OSVR all OSVR supported devices can be used in SteamVR (they are having some trouble with controllers, e.g. the Nolo controllers, but that's getting sorted out currently).
The point is really more that Mozilla seems to give a lot more love to proprietary platforms like windows and runtimes like steamvr now than to libre ones.
It's funny because in 2014/2015 with the Oculus Rift DK2 we first got a chromium webvr build for linux and then when it got into firefox nightly, it worked on linux too. Then Oculus stopped their linux support and both browsers stopped caring about WebVR on linux too. That announcement from Sensics is a year old and falls in the time where the OSVR SDK was the only major current and working VR SDK on Linux (and Mac OS X!) but it seems nobody wanted to make the effort to actually make it work. Fair enough, the OSVR SDK is an SDK literally nobody on Linux uses, so we could wait for SteamVR. That came out in February and today here we are, wondering what the problem is.
They don't have WebGL on linux, they have a "webgl if available" thing which is mostly not available.
I've heard that when available (never was on any linux machine I've had in my hands and tested since firefox introduced webgl, after a while I started disabling it to protect from the webgl vulnerabilities), it performs poorly compared to other browsers.
Especially with WebVR, you can use Windows as a troublesome device driver. Running the browser under Windows, either on a separate machine, or if the stars align with your hardware, in a VM. I sometimes run a Vive off a Windows VM - setting up the VM to perform well was a bit fiddly, but it works. And Windows is a lot easier to manage when you can accumulate VM snapshots of it.
For WebVR-ish development, there's my https://github.com/mncharity/node-webvr-alt-stack . Insecure, with no a-frame or lens correction - it was MVP for me. But I use it comfortably on laptop integrated graphics, at 30 fps, in coffeehouses and conference rooms, so that's fun.
I have to wonder if the WebVR spec might be less bad, if it had drawn from a larger community. My favorite bit was WebVR 1.1's getFrameData() - it was spec'ed to take an immutable object, which it would then modify with new data. Sigh.
yeah, sure but how many linux lovers do suffer from that lack of love ? For example, I use FF on Linux every day and my kids too. I mainly browse news sites; the kids browse youtube and a few other video services. It's not like I need to play 3D games in the browser. So for me, FF level of love for linux is perfectly fine.
This wouldn't even be worth commenting on it's so normal, except that Mozilla has a strong history of getting all their stuff working on all platforms before letting a release drop, so as much as I love VR, Mozilla, and Linux, I'm going to sit here and pout until I can do my thing on my tower. <3
Once upon a time, Microsoft would create Windows-only web extensions, to the detriment of the web. Nowadays, Mozilla does it for them.
A good rule of thumb for WebVR has been that there's always an unstated "on Windows", and anything said about non-Windows platforms working, is at best misleading. Especially anything said by Mozilla - it's been very bizarre.
The issue without "Direct Mode" is latency, as your link says. You need to bypass both the browser compositor and the system compositor. On Linux, most compositors will implement something like Direct Mode (compositor bypass) when you go fullscreen, but it's a bit hit and miss with multimonitor setups. It might fly as a stopgap, though. Here's the tracking bug for WebVR on Linux, if you want to follow progress: https://bugzilla.mozilla.org/show_bug.cgi?id=1310655
Something more directly analogous to "Direct Mode" on Windows are DRM leases, which give direct control over the scanout, rather than simply bypassing the compositor. This isn't possible on Linux at all yet, but Valve is working on it: https://keithp.com/blogs/DRM-lease/
Here is the DocOk/Vrui post on latency, A Trip Down the Graphics Pipeline (2014) http://doc-ok.org/?p=1057 (from which the reddit-linked graphs came).
Highlights include:
> Under a non-compositing window manager, regular double-buffering under OpenGL does not incur undue latency (and there is a window manager hint to tell a compositing manager to grant pass-through to a window).
> At least using the Nvidia graphics driver [...] OpenGL can vsync to any connected display, primary or secondary.
> OpenGL and X Windows allow applications to draw directly into a video controller’s frame buffer, allowing single-buffered rendering and racing the video controller’s scanout. [...] With front buffer rendering, display latency on the Rift DK2 dropped to about 4.3ms
> with some new rendering configuration options in Vrui 4.0 I can disable vsync, and render directly into the display window’s front buffer. In other words, I can let these applications “race the beam.”
For hardware decoding to make sense, there needs to be a way to present the decoded frames in a way that doesn't involve a read-back and that works with the rest of the browser graphics pipeline. That's currently a problem on Linux.
> Mozilla has a strong history of getting all their stuff working on all platforms before letting a release drop
I would like to see some substantation of this claim, my experience as linux user for 20 years is that firefox on linux is a second class citizen and mozilla developers often answer linux specific bugs by "wontfix, not a big enough portion of our users, would be a waste of resources".
Not even close. Mozilla has been windows-centric for years. While they've kept Linux support really well, and most features make it, windows tends to be the first platform they address.
Under the hook, it's extra windowsy. For example, they just dump config/cache/etc in a way similar to what's done on windows, and refused to support the XDG spec, which most desktop apps use.
There's very little Linux love from firefox and mozilla. 10 years later and still no QT build[1], drops alsa because their implementation is broken and instead of fixing their own mess forces everybody to use pulseaudio[2] and quite a few in between.
It seems there's a reccuring "you do not represent a big enough portion of our users for us to care" attitude over time that made several not big enough portion of their users to stop caring and supporting firefox accelerating its demise caused by trying to be a chrome-like browser (among other mismanagement).
Having no love for Qt and Alsa is not the same as having no love for Linux.
GTK+ is the main graphic toolkit in the linux world and pulseaudio won the war a decade ago ! You may not like where the Linux world has been going the past few years (boo redhat, systemd and Lennart) but that's how it is now. You can't blame mozilla for supporting only the modern Linux world and not every esotheric configuration : that's the job of the distribution's maintainers !
Whilst more resolution would of course be nice, it's fairly low on my list of important advances I desire in VR. I use VR almost daily and my top 3 list is probably: 1. A wider FOV, 2. a lighter headset and 3. Wireless
In terms of encouraging broader adoption - cost and lower required specs for the GPU is probably top.
IntersectionObserver looks like a nice alternative to the janky event handlers that many sites employ for style changes on scroll. Now we just have to wait 10 years for it to be implemented in Safari.
Anecdote time: I've been a lifelong supporter on Firefox (and Mozilla at a higher level), both as an end consumer, and philosophically: This is how to build a company around human beings and respecting their rights and privacy. Even had a Firefox download link on my blog footer for over half a decade (back in the days of footer images)!
In the last few years, it was becoming harder and harder to support Firefox as a browser simply because the cons had started to outweigh the pros: It became slow, bulky, and hung multiple times, on a system with 16 Gig RAM nonetheless . Even though I was the only Firefox guy in my team (So many teams I know develop and test ONLY on chrome), I still stuck with it. But was beginning to feel that I was supporting FFx, more out of philosophy than out of it being good software (like RMS insisting on browsing the web by wget-ing pages).
I'm glad to note the last 2-3 releases for firefox have been EPIC! So many improvements for power users (I have 120+ tabs open right now and it's all buttery smooth), and focussing on what FIrefox does best: Be an awesome browser! Next time someone tells me how Chrome is hogging their system memory, I'll (once again) be proud to point them to the Firefox download page.
Good to see firefox progressing, I've started using it again ever since the multi process work in 54 and been relatively happy with it.
Only thing really missing for someone that always has about 50 tabs open is de-prioritising background tabs. I don't have music playing in the browser and just want it to use no more than 10% CPU on tabs I'm not actively browsing. There should be options to prioritize responsiveness over everything. Sick of cpu fans spinning up and browser taking time to respond to tab switches.
Has anyone got this working with the Oculus Rift DK2 on a Mac? When Mozilla first released their WebVR offering (I thought it was WebVR.com, now it seems to be gone) the WebVR build of Firefox supported it fine - but it doesn't appear to detect it now.
Oculus dropped Mac support a long time ago to focus on Windows so Firefox cannot interface with their hardware anymore. Besides, the DK2 is no longer officially supported by Oculus so it won't probably work on Windows either (I have not tried myself)
So firefox is again using the marketing and PR machine to pretend it is relevant and not heading towards its demise due to ignoring their users and not delivering.
It's crazy to see them continue to believe that firefox is great and continually improving and that losing users is due to something outside of their reach when they're piling up decisions accelerating firefox towards irrelevance.
We don't want WebVR on windows only, we want freedom of choice instead of being forced to submit to whatever mozilla unilaterally decide, we want the features that were provided by extensions that firefox decided to kill, we want an adblocker (content-blocker), we want an option to protect our privacy by killing trackers, we want a way for us users to reach developers and have our voice heard, and so on. we don't want more marketing and bs.
WebVR is on Windows only because the valve components it relies on are in Beta on OSX and Linux. They (correctly) won't ship someone else's beta as their "stable". So you'll have to use beta or nightly for it.
As for the other stuff... I've been using Firefox beta as my daily driver for a year and a half, because it's WAY FASTER than chrome, has better bookmarks handling, better built in tracker killing. The speed is only getting better as more parts of Quantum make it to beta. It sucks that it has to be so slow, but they are rebuilding an airplane while in the air with a few million passengers.
Seems like the rest of your post is just upset about the move to Webextensions. Massive API rewrites are awful. But they also bring big benefits. It is better for them to make this shift while Firefox still has some market share, so there is pressure on developers to rewrite.
All told, FF is pretty aggressively moving ahead of the pack in terms of speed and standards compliance. They already are ahead of the pack on privacy. It's not inappropriate to have marketing that pushes that excitement.
Pretty sure SteamVR has been available out of beta for a while but I can't check because scrolling down on http://store.steampowered.com/news/?appids=250820 doesn't actually load old news items...
Firefox's OpenVR support on Linux is enabled in nightly, but it doesn't actually work.
This sounds more exciting to me than WebVR. Great work FF team.