>Write bindings to all relevant OS composition libraries. For Windows, we already have DirectComposition bindings, and for Linux, there are already bindings to Wayland. We need bindings for macOS Core Animation (which runs in the window server on relatively recent versions of macOS) and Android SurfaceFlinger.
https://github.com/servo/webrender/issues/3115
On the Mac you can pick up performance improvements now by opting out of the OS's window scaling feature for the Firefox app.
Get info for the Firefox app in the Finder and select the option to "Open in Low Resolution".
I'd happily contribute to a patreon or something if it meant increasing the chances of having a usable version of firefox on my mac at some point.
For the people who suffer the bugs ( which seems to be a majority of users that have a retina display, and specifically those who use it set on high resolution) just opening firefox will quickly lead to the macbook's fans spinning at full throttle and battery drain. There are issues opened and development supposedly in progress, but it's been like that for months if not years. At this point I would take whatever could speed up the process...
https://support.mozilla.org/en-US/kb/profile-manager-create-...
I don't think Firefox can fix all the bugs at the same pace Chromium can.
For some reason every time I talk about these bugs on the internet people treat it as a weird edge case I'm going through, but talking IRL with people about Firefox everyone seems to know how unusable it is in a Mac - not only in my circle of acquaintances.
Firefox does not use Core Animation, unlike Chrome and Safari, which causes an extra full-window blit on GPU in some cases. It also uses a transparent window, so macOS has to composite the content behind the window whenever Firefox draws. I have a patch in there to improve things, as well as a crate planeshift to help the situation with WebRender, but the patch causes some usability regressions so it has not landed. In the meantime you can set gfx.compositor.glcontext.opaque to true in about:config to get an opaque window at the cost of rounded window corners and vibrancy.
From what I've seen on the chromium bug tracker, Google has been on a ~5 year crusade to improve Mac performance. Around half the issues Ive seen include something like "We don't know what Mac does here, let's ask some people at the next conference" (these were core rendering performance bugs). I totally get why Firefox can't compete with that. It's fast on the platforms that don't seem to be hell-bent on making custom rendering slow.
"What if we stopped trying to guess what layers we need? What if we removed this boundary between painting and compositing and just went back to painting every pixel on every frame?
This may sound like a ridiculous idea, but it actually has some precedent. Modern day video games repaint every pixel, and they maintain 60 frames per second more reliably than browsers do. And they do it in an unexpected way… instead of creating these invalidation rectangles and layers to minimize what they need to paint, they just repaint the whole screen.
Wouldn’t rendering a web page like that be way slower?
If we paint on the CPU, it would be. But GPUs are designed to make this work."
https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-f...
Any modern CPU and GPU can do a lot of DMA and copying of memory in a very short amount of time, but that doesn't mean it'll be efficient wrt. power... which is what I think you were 'complaining' about?
You can feel this by playing any 3D shooter on your laptop and see the battery being sucked empty.
As for Chrome, I used to use it a lot, but the privacy concerns and controls it comes with bothered me too much to want to continue to use it on any of my systems.
Firefox containers are also essential to me while browsing the web - I don’t know if Chrome provides anything similar.