this post was submitted on 25 Jul 2024
74 points (80.8% liked)

Firefox

17552 readers
92 users here now

A place to discuss the news and latest developments on the open-source browser Firefox

founded 4 years ago
MODERATORS
 

GitHub Maintained GitHub Maintained Visitors

Betterfox

31% faster than regular Firefox1 :rocket:

about:config tweaks to enhance Mozilla Firefox.

:new: Now with ESR support.

Made for everyday browsing

A secure, blazing fast browsing experience. Without breakage.

Betterfox is an opinionated preference list inspired by the law of diminishing returns and the minimum effective dose.

Required reading

If you don't have it already: Get Firefox

  1. Create a backup profile.
  2. Download the user.js file here (Right click > Save Link As…).
  3. Review Common Overrides and make any necessary changes.
  4. Open Firefox. In the URL bar, type about:profiles and press Enter.
  5. For the profile you want to use (or use default), click Open Folder in the Root Directory section.
  6. Move the user.js file into the folder.

After restarting Firefox:

  1. Get an ad blocker like uBlock Origin with our recommended filters.
  2. Enable DNS-level protection with NextDNS. Use the link and support this page!
    • Check out our configuration guide for the best experience.
    • See how to quickly enable secure DNS in Firefox.

Simple goals

  1. Minimalism: get what isn't needed out of the way
  2. Efficiency: unleash Firefox's ability to be fast and performant
  3. Privacy: protect your data without causing site breakage

Simple configs

Fastfox, Securefox, Peskyfox, and Smoothfox are guides to settings within Firefox.

The user.js — a configuration file that controls Firefox settings — is curated from these guides.

List Description
Fastfox Increase Firefox's browsing speed. Give Chrome a run for its money!
Securefox Protect user data without causing site breakage.
Peskyfox Provide a clean, distraction-free browsing experience.
Smoothfox Get Edge-like smooth scrolling on your favorite browser — or choose something more your style.
user.js All the essentials. None of the breakage. This is your user.js.

Recognition

Browser Integration

YouTube

Podcasts

Articles

Guides

Reviews

  • “I use this one ... The performance is absolutely amazing. There’s definitely a huge difference when it comes to loading sites.” - DIRIKtv
  • "BetterFox ... will provide good-enough privacy and help with performance." - Qdoit12Super
  • "...drastically changed the experience with Firefox for me. Improved speed, security, smoothness, and removed clutter." - AppDate
  • "Firefox with uBlock Origin extension and tuned with Betterfox is faster than Safari." - cugeloid
  • "I don't think I could use Firefox without Betterfox." - Professional_Fun4616
  • "The best collection of tweaks available." - AuRiMaS
  • "FF is now much snappier!" - whotheff
  • "...the experience is so good now I don’t think I’ll go back to any of the chromium based browsers." - Mr_Compromise

Support

If you like the project, leave a :star: (top right) and become a stargazer!

Stargazers repo roster for @yokoffing/Betterfox

Credit

  • Betterfox mirrors the ongoing work provided by arkenfox. Additionally, this repository includes content reproduced or adapted from other sources. Credit for overlapping material goes to the original authors.
  • Appreciation goes to the Firefox team and developers working on Bugzilla, fighting for the open web.
  • A special thanks to Alex Kontos of Waterfox for his collaboration in v.116.
  • Many thanks to the 2021 Ghostery team for testing Betterfox at scale in its early days.
top 12 comments
sorted by: hot top controversial new old
[–] [email protected] 54 points 1 month ago (2 children)

This reads a lot like an ad. Can you explain where that 31% faster number comes from? I don't see many details in the linked article, and I also don't see why a user.js change should have any impact, much less >30%.

[–] [email protected] 41 points 1 month ago* (last edited 1 month ago) (1 children)

I just glanced over the options it changes. From what I can tell it:

  • enables GPU rendering for some canvas2d options

  • doubles cache sizes for almost everything

  • disables some speculative prefetching

I cant imagine these options are making a 30% speed difference, outside of some very specialized tests. But, I also haven't tried it so I could very well be wrong.

[–] [email protected] 6 points 1 month ago

It's probably on specific hardware then. At least the last (disabling speculative prefetching) sounds like tuning to the benchmark, and it very well could be worse in real-world usage.

[–] [email protected] 29 points 1 month ago* (last edited 1 month ago) (2 children)

I too am skeptical.

Mozilla cares a lot about performance. It is monitored obsessively and there are entire teams dedicated to squeezing out every last drop of performance. Heaven and earth would be moved for a 30% perf boost. I'm guessing either there's some very severe tradeoffs to these prefs, or setting them somehow breaks the methodology used to obtain this number.

Edit: also benchmarks can be notoriously misleading. I don't have any opinions or knowledge on basemark (the benchmark used to get this 30% number), but speedometer v3 is the most state of the art and generally agreed upon benchmark for performance these days.

That doesn't mean the 30% number is bogus.. Just that it should be followed by "...on basemark" rather than implying it's conclusive to overall performance.

[–] [email protected] 9 points 1 month ago

Looking over the Fastfox.js config, it looks like most settings fall into one of three categories:

  1. Subjective appearance of speed or responsiveness (perhaps at the expense of objectively-measurable load times)
  2. Experimental options that don't apply to all hardware or OSes (e.g. GPU acceleration)
  3. Settings that optimize performance at the expense of memory, CPU, or network usage (e.g. cache sizes and connection limits)

I don't see anything that makes me think Mozilla's defaults are unreasonable. It's not like Mozilla is leaving performance on the table, but rather that they chose a different compromise here and there, and use highly-compatible defaults. That said, it does seem like there is room for individual users to improve on the defaults — particularly if they have fast internet connections and lots of RAM.

For example:

// [NOTE] Lowering the interval will increase responsiveness
// but also increase the total load time.
user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)

This seems very much like a judgment call and I guess Firefox's defaults would actually have better objective load times and better benchmark scores. That doesn't mean it's objectively better, but it seems reasonable, at least.

// PREF: GPU-accelerated Canvas2D
// Use gpu-canvas instead of to skia-canvas.
// [WARNING] May cause issues on some Windows machines using integrated GPUs [2] [3]

// [NOTE] Higher values will use more memory.

Again, the defaults seem to make sense. Perhaps Mozilla could add an optimization wizard to detect appropriate settings for your hardware, and let the user select options like "maximize speed" vs "maximize memory efficiency". These are not one-size-fits-all settings.

Fastfox also disables a lot of prefetching options, which...seems counter to the goal of improving speed. Not really sure what to make of that.

[–] [email protected] 3 points 1 month ago

The default value for network.dnsCacheExpiration seems insanely low, however.

[–] [email protected] 39 points 1 month ago (1 children)

Sure, just be aware that if you apply this without reading up on virtually every single option this changes, you'll soon be joining the legion of people that always post about how "Firefox uses so much memory at idle!" or "Firefox won't even render page xyz!" or "Firefox stutters like hell on pages with animations!" and so on.

Because there's a reason that the devs have not applied these to be the default. They don't come without any cost.

[–] [email protected] 15 points 1 month ago