DEV Community

Weather Clock Dash
Weather Clock Dash

Posted on

Firefox Performance Tuning: Hardware Acceleration, Memory, about:config Settings

Firefox's performance has improved dramatically in recent years, but there are still configuration choices and habits that significantly affect speed. This guide covers both the built-in settings and the about:config preferences that actually make a difference.

Baseline: Update Firefox

Firefox 121+ (current stable: Firefox 130+) includes significant rendering improvements over older versions. If you're running Firefox 100 or older, updating alone will be the biggest performance gain.

Help → About Firefox → check for updates.

Hardware Acceleration

Settings → General → Performance → Use recommended performance settings should be enabled. If it's off, you're limiting Firefox to CPU-only rendering.

If you've unchecked it manually:

  • Use hardware acceleration when available: on
  • Content process limit: 8 (or higher if you have RAM)

For systems where hardware acceleration causes rendering glitches: Settings → Performance → uncheck "Use recommended performance settings" → uncheck "Use hardware acceleration". The tradeoff is slower rendering but no visual artifacts.

Check whether hardware acceleration is actually active: about:support → scroll to "Graphics" → "Compositing". Should say "WebRender" not "Basic".

about:config Performance Settings

These preferences are not in the normal settings UI:

gfx.webrender.all (default: false on some systems)
Forces WebRender renderer. WebRender uses the GPU directly and is faster than the software renderer. Set to true if about:support shows "Basic" compositing.

layers.acceleration.force-enabled (default: false)
Force hardware layer acceleration. Rarely needed on modern systems but can help on older hardware that Firefox doesn't automatically enable acceleration for.

network.http.max-persistent-connections-per-server (default: 6)
Increases max simultaneous connections to a server. Setting to 10 can speed up media-heavy pages. Don't set above 10 — servers will rate-limit you.

network.prefetch-next (default: true)
Allows sites to prefetch links you might click. Speeds up navigation but uses bandwidth. Set to false on metered connections.

browser.cache.disk.capacity (default: 1048576 = 1GB)
Firefox's disk cache size in KB. Increasing to 2-4GB on systems with fast SSDs can improve repeat-visit performance. Set via Settings → Privacy & Security → Cached Web Content.

dom.ipc.processCount (default: 8)
Number of content processes for tabs. More processes = better isolation and performance, but more RAM. If you have 16GB+ RAM, increasing to 16 can help. If you're RAM-constrained, reduce to 4.

Memory Usage

Firefox uses more RAM than older versions — by design, because content process isolation requires separate processes. But there are ways to reduce memory footprint:

Suspend inactive tabs: install Auto Tab Discard or use the built-in feature (about:config → browser.tabs.unloadOnLowMemory = true). Suspended tabs don't use RAM until activated.

Tab Manager & Session Saver lets you close all current tabs and save them as a named session, freeing all that RAM immediately. When you need them, restore the session. Particularly useful for research sessions with 30+ tabs. Install from Firefox Add-ons.

Check memory usage: about:memory → Measure → shows which tabs, extensions, and processes are using memory. Useful for identifying a memory-hungry extension.

Minimize to tray with memory cleanup: Firefox has a built-in memory cleanup triggered by about:memory → "Minimize memory usage" button. Can be triggered programmatically but there's no automatic schedule.

Startup Performance

Firefox startup time depends mainly on:

  1. Number of extensions (each has startup cost)
  2. Number of tabs from last session (if restoring session)
  3. Profile size

Extension audit: about:addons → Extensions → review each one. Extensions that run on every page load (content scripts) have startup and per-page costs. A typical Dev.to user shouldn't need more than 5–8 extensions.

Disable session restore for fewer tabs: Settings → General → "Open previous windows and tabs" → change to "Show your home page". The session is still saved and accessible via History → Recently Closed Tabs.

Network Performance

DNS over HTTPS (DoH): Settings → Privacy & Security → DNS over HTTPS → Increased Protection or Max Protection. DoH resolves DNS encrypted, which prevents ISP tracking and can be faster than your ISP's DNS if you use Cloudflare (1.1.1.1) or Next DNS.

IPv6: Firefox prefers IPv6 when available. If your network has IPv6 but it's misconfigured, it can cause connection delays. Check about:config → network.dns.disableIPv6 = true to disable if you're experiencing slow initial connections.

HTTP/3 (QUIC): enabled by default in Firefox 88+. Speeds up connections over unreliable networks. Visible in DevTools Network tab — Protocol column shows "h3" for HTTP/3 connections.

Content Blocking and Performance

Ironically, uBlock Origin improves performance by blocking scripts, ads, and trackers that would otherwise execute. A heavily-tracked page (typical news site) might load 80+ third-party scripts. Blocking them reduces both load time and CPU usage.

Enable "EasyPrivacy" filter list in uBlock Origin for additional tracker blocking. The performance benefit on tracker-heavy sites is often 2–3x faster load.

Profile Refresh (Nuclear Option)

If Firefox has gotten slow over time despite all the above, a profile refresh resets all settings to defaults while preserving bookmarks, history, and passwords:

Help → More Troubleshooting Information → Refresh Firefox

This removes all about:config customizations, extensions, and cached data. A common fix for profiles that have accumulated years of cruft.

Alternatively, create a new profile (Firefox Profile Manager: start Firefox with -P flag or about:profiles) to test if it's profile-specific.

Monitoring: Built-in Tools

about:performance: shows CPU and memory usage per tab and extension in real time. The quickest way to identify which tab is burning CPU.

about:support: full diagnostic dump including graphics info, extension list, and preference overrides. Share this when reporting Firefox performance bugs.

about:memory: detailed memory profiler. "Measure" then read the tree — "js" section shows script memory, "window-objects" shows DOM.

Profiler: profiler.firefox.com → "Start recording" → reproduce the issue → "Capture recording". Produces a sharable performance profile for debugging specific slowdowns.

Top comments (0)