From 2f576bc10035a88f34ba568cf77dd14289ad9fe7 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Sat, 26 Nov 2022 12:40:17 -0500 Subject: [PATCH 01/24] link --- Fastfox.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 49f6af5..94f6d46 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -11,7 +11,7 @@ * Fastfox * * "Non ducor duco" * * priority: speedy browsing * - * version: 107a * + * version: 108 * * url: https://github.com/yokoffing/Betterfox * ***************************************************************************************/ @@ -143,10 +143,9 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 ****************************************************************************/ // PREF: Webrender tweaks -// [1] https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/ -// [2] https://wiki.mozilla.org/Platform/GFX/WebRender_Where -// [3] https://www.reddit.com/r/firefox/comments/fo1jwz/make_firefox_faster/flhh5l2/ -// [4] https://www.troddit.com/r/firefox/comments/tbphok/is_setting_gfxwebrenderprecacheshaders_to_true/i0bxs2r/ +// [1] https://searchfox.org/mozilla-central/rev/6e6332bbd3dd6926acce3ce6d32664eab4f837e5/modules/libpref/init/StaticPrefList.yaml#6202-6219 +// [2] https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/ +// [3] https://www.troddit.com/r/firefox/comments/tbphok/is_setting_gfxwebrenderprecacheshaders_to_true/i0bxs2r/ user_pref("gfx.webrender.all", true); // enables WR (GPU) + additional features user_pref("gfx.webrender.precache-shaders", true); user_pref("gfx.webrender.compositor", true); From 103e2866fa20160c358a55ffb345e76c307f4342 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Sat, 26 Nov 2022 12:56:42 -0500 Subject: [PATCH 02/24] reoder some prefs --- Fastfox.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 94f6d46..f790a2f 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -150,12 +150,17 @@ user_pref("gfx.webrender.all", true); // enables WR (GPU) + additional features user_pref("gfx.webrender.precache-shaders", true); user_pref("gfx.webrender.compositor", true); //user_pref("gfx.webrender.compositor.force-enabled", true); // reinforce +user_pref("layers.gpu-process.enabled", true); + //user_pref("layers.gpu-process.force-enabled", true); // reinforce +user_pref("media.hardware-video-decoding.enabled", true); + //user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce // PREF: if your hardware doesn't support Webrender, you can fallback to Webrender's software renderer // [1] https://www.ghacks.net/2020/12/14/how-to-find-out-if-webrender-is-enabled-in-firefox-and-how-to-enable-it-if-it-is-not/ //user_pref("gfx.webrender.enabled", true); //user_pref("gfx.webrender.software", true); // Webrender uses the CPU and not the GPU //user_pref("gfx.webrender.software.opengl", true); [LINUX] + //user_pref("media.ffmpeg.vaapi.enabled", true); // [LINUX] // PREF: GPU-accelerated Canvas2D tweaks // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1739448 @@ -168,16 +173,11 @@ user_pref("gfx.content.skia-font-cache-size", 80); user_pref("image.cache.size", 10485760); user_pref("image.mem.decode_bytes_at_a_time", 131072); // alt=65536; preferred=262144; chunk size for calls to the image decoders user_pref("image.mem.shared.unmap.min_expiration_ms", 120000); // default=60000; minimum timeout to unmap shared surfaces since they have been last used -user_pref("layers.gpu-process.enabled", true); - //user_pref("layers.gpu-process.force-enabled", true); // reinforce // PREF: increase media cache user_pref("media.memory_cache_max_size", 1048576); // alt=512000; also in Securefox (inactive there) user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=3145728; // default=524288 //user_pref("media.memory_caches_combined_limit_pc_sysmem", 20); // default=5 -//user_pref("media.ffmpeg.vaapi.enabled", true); // [LINUX] -//user_pref("media.hardware-video-decoding.enabled", true); - //user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce // PREF: decrease video buffering // [NOTE] Does not affect YouTube since it uses DASH playback [1] From da0e4c2e2e21d9e4923cfb68872ca56498e684e1 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Sun, 27 Nov 2022 17:36:06 -0500 Subject: [PATCH 03/24] add link to Webrender tweaks --- Fastfox.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Fastfox.js b/Fastfox.js index f790a2f..91061e8 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -146,6 +146,7 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 // [1] https://searchfox.org/mozilla-central/rev/6e6332bbd3dd6926acce3ce6d32664eab4f837e5/modules/libpref/init/StaticPrefList.yaml#6202-6219 // [2] https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/ // [3] https://www.troddit.com/r/firefox/comments/tbphok/is_setting_gfxwebrenderprecacheshaders_to_true/i0bxs2r/ +// [4] https://www.troddit.com/r/firefox/comments/z5auzi/comment/ixw65gb?context=3 user_pref("gfx.webrender.all", true); // enables WR (GPU) + additional features user_pref("gfx.webrender.precache-shaders", true); user_pref("gfx.webrender.compositor", true); From 405cbc7a867d1e18a5cb3c640bc3b8220425acf9 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 28 Nov 2022 01:33:07 -0500 Subject: [PATCH 04/24] comment out nglayout.initialpaint.delay --- Fastfox.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 91061e8..8f06a5b 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -18,8 +18,8 @@ // PREF: initial paint delay // How long FF will wait before rendering the page // [1] https://kb.mozillazine.org/Nglayout.initialpaint.delay -user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 -user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 250 +//user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 +//user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 250 // PREF: control how tabs are loaded when a session is restored // true=Tabs are not loaded until they are selected (default) From c3eb95ae4173e93d72b365e5131909eae1a720b0 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 28 Nov 2022 01:46:33 -0500 Subject: [PATCH 05/24] links for initial paint delay --- Fastfox.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index 8f06a5b..adca94e 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -17,7 +17,9 @@ // PREF: initial paint delay // How long FF will wait before rendering the page -// [1] https://kb.mozillazine.org/Nglayout.initialpaint.delay +// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1283302 +// [2] https://docs.google.com/document/d/1BvCoZzk2_rNZx3u9ESPoFjSADRI0zIPeJRXFLwWXx_4/edit#heading=h.28ki6m8dg30z + //user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 //user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 250 From a8e9aaa5f0b20a75798ba9e9abcd8ad1f5748531 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 28 Nov 2022 01:46:43 -0500 Subject: [PATCH 06/24] fix spacing --- Fastfox.js | 1 - 1 file changed, 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index adca94e..bba480e 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -19,7 +19,6 @@ // How long FF will wait before rendering the page // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1283302 // [2] https://docs.google.com/document/d/1BvCoZzk2_rNZx3u9ESPoFjSADRI0zIPeJRXFLwWXx_4/edit#heading=h.28ki6m8dg30z - //user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 //user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 250 From c29fe2b939623ced33102527511ca2b4103b2018 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 28 Nov 2022 20:37:29 -0500 Subject: [PATCH 07/24] WebGPU references --- Fastfox.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Fastfox.js b/Fastfox.js index bba480e..14b862c 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -94,6 +94,14 @@ user_pref("layout.css.animation-composition.enabled", true); // [1] https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md //user_pref("javascript.options.wasm_function_references", true); +// PREF: WebGPU [HIGHLY EXPERIMENTAL!] [NIGHTLY] +// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1746245 +// [2] https://github.com/gpuweb/gpuweb/wiki/Implementation-Status +// [3] https://hacks.mozilla.org/2020/04/experimental-webgpu-in-firefox/ +// [4] https://developer.chrome.com/docs/web-platform/webgpu/ +//user_pref("dom.webgpu.enabled", true); + //user_pref("gfx.webgpu.force-enabled", true); + /**************************************************************************** * SECTION: NETWORK * ****************************************************************************/ From 30bc1e69dee456061349697af8d464514acf2ff3 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 28 Nov 2022 23:47:10 -0500 Subject: [PATCH 08/24] restore spec. con. section --- Fastfox.js | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 14b862c..a06e855 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -106,9 +106,6 @@ user_pref("layout.css.animation-composition.enabled", true); * SECTION: NETWORK * ****************************************************************************/ -// PREF: faster SSL -user_pref("network.ssl_tokens_cache_capacity", 32768); // more TLS token caching (fast reconnects) - // PREF: increase DNS cache user_pref("network.dnsCacheEntries", 20000); user_pref("network.dnsCacheExpiration", 3600); @@ -208,9 +205,9 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c * SECTION: BROWSER CACHE * ****************************************************************************/ -// PREF: re-enable disk cache (optional) +// PREF: disk cache // [EXTENSION] https://addons.mozilla.org/en-US/firefox/addon/cache-longer/ -//user_pref("browser.cache.disk.enable", true); // SecureFox override +//user_pref("browser.cache.disk.enable", true); // overrides Securefox //user_pref("browser.cache.disk.max_entry_size", 51200); // DEFAULT //user_pref("browser.cache.disk.smart_size.enabled", false); // disable adaptive cache size on disk //user_pref("browser.cache.disk.capacity", 8192000); // 8 GB cache on disk @@ -219,7 +216,43 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c // disable clearing cache on shutdown: //user_pref("privacy.clearOnShutdown.cache", false); -// PREF: increase memory cache size (recommended) +// PREF: increase memory cache size // [1] https://www.makeuseof.com/tag/how-much-data-does-youtube-use/ //user_pref("browser.cache.memory.capacity", 5242880); // default=-1; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached + +/**************************************************************************** + * SECTION: SPECULATIVE CONNECTIONS * +****************************************************************************/ + +// [NOTE] FF85+ partitions (isolates) pooled connections, prefetch connections, +// pre-connect connections, speculative connections, TLS session identifiers, +// and other connections. We can take advantage of the speed of pre-connections +// while preserving privacy. Users may relax hardening to maximize their preference. +// For more information, see SecureFox: "PREF: State Paritioning" and "PREF: Network Partitioning" [1] +// [1] https://github.com/yokoffing/Betterfox/blob/e9621b0062914da5fdb5f83b8da64041965b7a50/Securefox.js#L74-L108 +// [NOTE] To activate and increase network predictions, go to settings in uBlock Origin, and make this setting is DISABLED: +// - "Disable pre-fetching (to prevent any connection for blocked network requests)" +// [NOTE] Add prefs to "MY OVERRIDES" section to enable. + +// PREF: increase network predictions +user_pref("network.http.speculative-parallel-limit", 6); // DEFAULT; overrides SecureFox +user_pref("network.dns.disablePrefetch", false); // overrides SecureFox +user_pref("network.dns.disablePrefetchFromHTTPS", false); + user_pref("network.dnsCacheEntries", 20000); + user_pref("network.dnsCacheExpiration", 3600); + user_pref("network.dnsCacheExpirationGracePeriod", 240); +user_pref("browser.urlbar.speculativeConnect.enabled", true); // overrides SecureFox +user_pref("browser.places.speculativeConnect.enabled", true); // overrides SecureFox +user_pref("network.prefetch-next", true); // overrides SecureFox +user_pref("network.predictor.enabled", true); // overrides SecureFox +user_pref("network.predictor.enable-prefetch", true); // overrides SecureFox +user_pref("network.predictor.enable-hover-on-ssl", true); + user_pref("network.predictor.preresolve-min-confidence", 40); // default=60; alt=10 + user_pref("network.predictor.preconnect-min-confidence", 70); // default=90; alt=30 + user_pref("network.predictor.prefetch-min-confidence", 80); // default=100; alt=40 + user_pref("network.predictor.prefetch-force-valid-for", 3600); // default=10 + user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10 + + // PREF: faster SSL +user_pref("network.ssl_tokens_cache_capacity", 32768); // more TLS token caching (fast reconnects) From 2b2e375228fefd19bd1d5bd6f4ca8fe5ca74b13b Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Tue, 29 Nov 2022 00:35:51 -0500 Subject: [PATCH 09/24] re-incorporate speculative connections --- Fastfox.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index a06e855..75c3a20 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -106,11 +106,6 @@ user_pref("layout.css.animation-composition.enabled", true); * SECTION: NETWORK * ****************************************************************************/ -// PREF: increase DNS cache -user_pref("network.dnsCacheEntries", 20000); -user_pref("network.dnsCacheExpiration", 3600); -user_pref("network.dnsCacheExpirationGracePeriod", 240); - // PREF: use bigger packets // [1] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74561.html // [2] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74570.html @@ -118,14 +113,14 @@ user_pref("network.buffer.cache.size", 262144); // preferred=327680; default=327 user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 // PREF: DoH requests -//user_pref("network.trr.request_timeout_ms", 1500); // DEFAULT +//user_pref("network.trr.request_timeout_ms", 800); // default=1500 //user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT +//user_pref("network.trr.request_timeout_mode_trronly_ms", 15000); // default=30000 -// These do not affect anything, probably: +// These do not help speed, probably: // PREF: close a connection if tls handshake does not finish in given number of seconds //user_pref("network.http.tls-handshake-timeout", 3); // default=30 - // PREF: timeout connections if an initial response is not received in number of seconds //user_pref("network.http.response.timeout", 5); // default=300 @@ -133,7 +128,10 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 // [1] https://kb.mozillazine.org/Network.http.max-connections // [2] https://kb.mozillazine.org/Network.http.max-persistent-connections-per-server //user_pref("network.http.max-connections", 1800); // default=900 - //user_pref("network.http.max-persistent-connections-per-server", 8); // default=6; download connections; anything above 10 is excessive +//user_pref("network.http.max-persistent-connections-per-server", 10); // default=6; download connections; anything above 10 is excessive +//user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32 +//user_pref("network.http.max-urgent-start-excessive-connections-per-host", 6); // default=3 +//user_pref("network.http.pacing.requests.min-parallelism", 18); // default=6 /**************************************************************************** * SECTION: MAKE FIREFOX FAST * @@ -192,7 +190,7 @@ user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=314572 user_pref("media.cache_size", 2048000); // default=512000 user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds) - + // PREF: faster upload speed // Firefox currently has a bug with impacting upload speeds with HTTP3/QUIC // [TEST] https://speedof.me/ @@ -233,10 +231,10 @@ user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferre // [1] https://github.com/yokoffing/Betterfox/blob/e9621b0062914da5fdb5f83b8da64041965b7a50/Securefox.js#L74-L108 // [NOTE] To activate and increase network predictions, go to settings in uBlock Origin, and make this setting is DISABLED: // - "Disable pre-fetching (to prevent any connection for blocked network requests)" -// [NOTE] Add prefs to "MY OVERRIDES" section to enable. +// [NOTE] Add prefs to "MY OVERRIDES" section and uncomment to enable them in your user.js. // PREF: increase network predictions -user_pref("network.http.speculative-parallel-limit", 6); // DEFAULT; overrides SecureFox +user_pref("network.http.speculative-parallel-limit", 18); // default=6; overrides SecureFox user_pref("network.dns.disablePrefetch", false); // overrides SecureFox user_pref("network.dns.disablePrefetchFromHTTPS", false); user_pref("network.dnsCacheEntries", 20000); @@ -248,11 +246,13 @@ user_pref("network.prefetch-next", true); // overrides SecureFox user_pref("network.predictor.enabled", true); // overrides SecureFox user_pref("network.predictor.enable-prefetch", true); // overrides SecureFox user_pref("network.predictor.enable-hover-on-ssl", true); - user_pref("network.predictor.preresolve-min-confidence", 40); // default=60; alt=10 - user_pref("network.predictor.preconnect-min-confidence", 70); // default=90; alt=30 - user_pref("network.predictor.prefetch-min-confidence", 80); // default=100; alt=40 + user_pref("network.predictor.preresolve-min-confidence", 10); // default=60; alt=40 + user_pref("network.predictor.preconnect-min-confidence", 20); // default=90; alt=70 + user_pref("network.predictor.prefetch-min-confidence", 30); // default=100; alt=80 user_pref("network.predictor.prefetch-force-valid-for", 3600); // default=10 user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10 + user_pref("network.predictor.max-resources-per-entry", 250); // default=100 + user_pref("network.predictor.max-uri-length", 1000); // default=500 - // PREF: faster SSL -user_pref("network.ssl_tokens_cache_capacity", 32768); // more TLS token caching (fast reconnects) +// PREF: increase TLS token caching +user_pref("network.ssl_tokens_cache_capacity", 32768); // faster SSL (fast reconnects) From 2f0999939e654e3f47f745672c16980644c86c4c Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Tue, 29 Nov 2022 00:39:36 -0500 Subject: [PATCH 10/24] combine prefs for "these are probably unhelpful" --- Fastfox.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 75c3a20..5ba91f4 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -112,19 +112,7 @@ user_pref("layout.css.animation-composition.enabled", true); user_pref("network.buffer.cache.size", 262144); // preferred=327680; default=32768 user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 -// PREF: DoH requests -//user_pref("network.trr.request_timeout_ms", 800); // default=1500 - //user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT -//user_pref("network.trr.request_timeout_mode_trronly_ms", 15000); // default=30000 - -// These do not help speed, probably: - -// PREF: close a connection if tls handshake does not finish in given number of seconds -//user_pref("network.http.tls-handshake-timeout", 3); // default=30 -// PREF: timeout connections if an initial response is not received in number of seconds -//user_pref("network.http.response.timeout", 5); // default=300 - -// PREF: increase the absolute number of http connections +// PREF: increase the absolute number of HTTP connections // [1] https://kb.mozillazine.org/Network.http.max-connections // [2] https://kb.mozillazine.org/Network.http.max-persistent-connections-per-server //user_pref("network.http.max-connections", 1800); // default=900 @@ -133,6 +121,16 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 //user_pref("network.http.max-urgent-start-excessive-connections-per-host", 6); // default=3 //user_pref("network.http.pacing.requests.min-parallelism", 18); // default=6 +// These do not help speed, probably: +// PREF: DoH requests +//user_pref("network.trr.request_timeout_ms", 800); // default=1500 + //user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT +//user_pref("network.trr.request_timeout_mode_trronly_ms", 15000); // default=30000 +// PREF: close a connection if tls handshake does not finish in given number of seconds +//user_pref("network.http.tls-handshake-timeout", 20); // default=30 +// PREF: timeout connections if an initial response is not received in number of seconds +//user_pref("network.http.response.timeout", 200); // default=300 + /**************************************************************************** * SECTION: MAKE FIREFOX FAST * * [NOTE] The following is not recommended for low-end machines * From ca15a55a498e5fe41334570b12e28d60f0ffcd63 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Tue, 29 Nov 2022 00:45:52 -0500 Subject: [PATCH 11/24] reorder subheadings --- Fastfox.js | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 5ba91f4..a8dbc69 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -102,39 +102,10 @@ user_pref("layout.css.animation-composition.enabled", true); //user_pref("dom.webgpu.enabled", true); //user_pref("gfx.webgpu.force-enabled", true); -/**************************************************************************** - * SECTION: NETWORK * -****************************************************************************/ - -// PREF: use bigger packets -// [1] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74561.html -// [2] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74570.html -user_pref("network.buffer.cache.size", 262144); // preferred=327680; default=32768 -user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 - -// PREF: increase the absolute number of HTTP connections -// [1] https://kb.mozillazine.org/Network.http.max-connections -// [2] https://kb.mozillazine.org/Network.http.max-persistent-connections-per-server -//user_pref("network.http.max-connections", 1800); // default=900 -//user_pref("network.http.max-persistent-connections-per-server", 10); // default=6; download connections; anything above 10 is excessive -//user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32 -//user_pref("network.http.max-urgent-start-excessive-connections-per-host", 6); // default=3 -//user_pref("network.http.pacing.requests.min-parallelism", 18); // default=6 - -// These do not help speed, probably: -// PREF: DoH requests -//user_pref("network.trr.request_timeout_ms", 800); // default=1500 - //user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT -//user_pref("network.trr.request_timeout_mode_trronly_ms", 15000); // default=30000 -// PREF: close a connection if tls handshake does not finish in given number of seconds -//user_pref("network.http.tls-handshake-timeout", 20); // default=30 -// PREF: timeout connections if an initial response is not received in number of seconds -//user_pref("network.http.response.timeout", 200); // default=300 - /**************************************************************************** * SECTION: MAKE FIREFOX FAST * * [NOTE] The following is not recommended for low-end machines * - * Credit for most of these: * + * Credit for many of these: * * https://gist.github.com/RubenKelevra/fd66c2f856d703260ecdf0379c4f59db * * [NOTE] For best performance on older hardware, you will need to test * * these settings individually. * @@ -217,6 +188,38 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c //user_pref("browser.cache.memory.capacity", 5242880); // default=-1; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached +/**************************************************************************** + * SECTION: NETWORK * +****************************************************************************/ + +// PREF: use bigger packets +// [1] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74561.html +// [2] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74570.html +user_pref("network.buffer.cache.size", 262144); // preferred=327680; default=32768 +user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 + +// PREF: increase the absolute number of HTTP connections +// [1] https://kb.mozillazine.org/Network.http.max-connections +// [2] https://kb.mozillazine.org/Network.http.max-persistent-connections-per-server +//user_pref("network.http.max-connections", 1800); // default=900 +//user_pref("network.http.max-persistent-connections-per-server", 9); // default=6; download connections; anything above 10 is excessive +//user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32 +//user_pref("network.http.max-urgent-start-excessive-connections-per-host", 6); // default=3 +//user_pref("network.http.pacing.requests.min-parallelism", 18); // default=6 + +// PREF: increase TLS token caching +user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; faster SSL (fast reconnects) + +// These do not help speed, probably: +// PREF: DoH requests +//user_pref("network.trr.request_timeout_ms", 800); // default=1500 + //user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT +//user_pref("network.trr.request_timeout_mode_trronly_ms", 15000); // default=30000 +// PREF: close a connection if tls handshake does not finish in given number of seconds +//user_pref("network.http.tls-handshake-timeout", 20); // default=30 +// PREF: timeout connections if an initial response is not received in number of seconds +//user_pref("network.http.response.timeout", 200); // default=300 + /**************************************************************************** * SECTION: SPECULATIVE CONNECTIONS * ****************************************************************************/ @@ -251,6 +254,3 @@ user_pref("network.predictor.enable-hover-on-ssl", true); user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10 user_pref("network.predictor.max-resources-per-entry", 250); // default=100 user_pref("network.predictor.max-uri-length", 1000); // default=500 - -// PREF: increase TLS token caching -user_pref("network.ssl_tokens_cache_capacity", 32768); // faster SSL (fast reconnects) From dbf6515187e6fe814925b93072e8dc94323e60ee Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Tue, 29 Nov 2022 00:48:51 -0500 Subject: [PATCH 12/24] comment out spec. conn. --- Fastfox.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index a8dbc69..adbed8a 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -235,22 +235,22 @@ user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; faster S // [NOTE] Add prefs to "MY OVERRIDES" section and uncomment to enable them in your user.js. // PREF: increase network predictions -user_pref("network.http.speculative-parallel-limit", 18); // default=6; overrides SecureFox -user_pref("network.dns.disablePrefetch", false); // overrides SecureFox -user_pref("network.dns.disablePrefetchFromHTTPS", false); +//user_pref("network.http.speculative-parallel-limit", 18); // default=6; overrides SecureFox +//user_pref("network.dns.disablePrefetch", false); // overrides SecureFox +//user_pref("network.dns.disablePrefetchFromHTTPS", false); user_pref("network.dnsCacheEntries", 20000); user_pref("network.dnsCacheExpiration", 3600); user_pref("network.dnsCacheExpirationGracePeriod", 240); -user_pref("browser.urlbar.speculativeConnect.enabled", true); // overrides SecureFox -user_pref("browser.places.speculativeConnect.enabled", true); // overrides SecureFox -user_pref("network.prefetch-next", true); // overrides SecureFox -user_pref("network.predictor.enabled", true); // overrides SecureFox -user_pref("network.predictor.enable-prefetch", true); // overrides SecureFox -user_pref("network.predictor.enable-hover-on-ssl", true); - user_pref("network.predictor.preresolve-min-confidence", 10); // default=60; alt=40 - user_pref("network.predictor.preconnect-min-confidence", 20); // default=90; alt=70 - user_pref("network.predictor.prefetch-min-confidence", 30); // default=100; alt=80 - user_pref("network.predictor.prefetch-force-valid-for", 3600); // default=10 - user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10 - user_pref("network.predictor.max-resources-per-entry", 250); // default=100 - user_pref("network.predictor.max-uri-length", 1000); // default=500 +//user_pref("browser.urlbar.speculativeConnect.enabled", true); // overrides SecureFox +//user_pref("browser.places.speculativeConnect.enabled", true); // overrides SecureFox +//user_pref("network.prefetch-next", true); // overrides SecureFox +//user_pref("network.predictor.enabled", true); // overrides SecureFox +//user_pref("network.predictor.enable-prefetch", true); // overrides SecureFox +//user_pref("network.predictor.enable-hover-on-ssl", true); + //user_pref("network.predictor.preresolve-min-confidence", 10); // default=60; alt=40 + //user_pref("network.predictor.preconnect-min-confidence", 20); // default=90; alt=70 + //user_pref("network.predictor.prefetch-min-confidence", 30); // default=100; alt=80 + //user_pref("network.predictor.prefetch-force-valid-for", 3600); // default=10 + //user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10 + //user_pref("network.predictor.max-resources-per-entry", 250); // default=100 + //user_pref("network.predictor.max-uri-length", 1000); // default=500 From 48dd1dfbb39d20c64cdda6b53089283b8addffcd Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Wed, 30 Nov 2022 09:20:19 -0500 Subject: [PATCH 13/24] add AV1 pref comment out media.cache_size --- Fastfox.js | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index adbed8a..64906df 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -16,11 +16,17 @@ ***************************************************************************************/ // PREF: initial paint delay -// How long FF will wait before rendering the page +// How long FF will wait before rendering the page, in milliseconds +// Reduce the 5ms Firefox waits to render the page // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1283302 // [2] https://docs.google.com/document/d/1BvCoZzk2_rNZx3u9ESPoFjSADRI0zIPeJRXFLwWXx_4/edit#heading=h.28ki6m8dg30z -//user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 -//user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 250 +user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 +user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5 + +// PREF: set the minimum interval between session save operations +// Increasing this can help on older machines and some websites, as well as reducing writes +// [1] https://bugzilla.mozilla.org/1304389 +//user_pref("browser.sessionstore.interval", 30000); // [DEFAULT: 15000] // PREF: control how tabs are loaded when a session is restored // true=Tabs are not loaded until they are selected (default) @@ -36,11 +42,6 @@ // PREF: disable preSkeletonUI on startup user_pref("browser.startup.preXulSkeletonUI", false); -// PREF: set the minimum interval between session save operations -// Increasing this can help on older machines and some websites, as well as reducing writes -// [1] https://bugzilla.mozilla.org/1304389 -//user_pref("browser.sessionstore.interval", 30000); // [DEFAULT: 15000] - // PREF: OffscreenCanvas // [1] https://yashints.dev/blog/2019/05/11/offscreen-canvas // [2] https://www.youtube.com/watch?v=CWvRA9E0DqU @@ -156,18 +157,24 @@ user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=314572 // PREF: decrease video buffering // [NOTE] Does not affect YouTube since it uses DASH playback [1] // [1] https://lifehacker.com/preload-entire-youtube-videos-by-disabling-dash-playbac-1186454034 -user_pref("media.cache_size", 2048000); // default=512000 +//user_pref("media.cache_size", 2048000); // default=512000 user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds) -// PREF: faster upload speed -// Firefox currently has a bug with impacting upload speeds with HTTP3/QUIC +// PREF: disable QUIC for faster upload speeds +// Firefox currently has a bug with impacting upload speeds with HTTP3 // [TEST] https://speedof.me/ // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1753486 // [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1596576 //user_pref("network.http.http3.enable", false); // disables HTTP3/QUIC //user_pref("network.http.http2.chunk-size", 32000); // preferred=48000; default=16000 [needed?] +// PREF: disable AV1 for hardware decodeable videos +// AV1 uses software (CPU-based) decoding +// Firefox sometimes uses AV1 video decoding even to GPUs which do not support it +// [1] https://www.troddit.com/r/AV1/comments/s5xyph/youtube_av1_codec_have_worse_quality_than_old_vp9 +//user_pref("media.av1.enabled", false); + /**************************************************************************** * SECTION: BROWSER CACHE * ****************************************************************************/ From 6a732503bba86a515c3e56a9116f70ac9d3af6bb Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Wed, 30 Nov 2022 12:07:57 -0500 Subject: [PATCH 14/24] enforce default for browser.cache.memory.capacity --- Fastfox.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 64906df..ae44889 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -187,12 +187,10 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c //user_pref("browser.cache.disk.capacity", 8192000); // 8 GB cache on disk //user_pref("browser.cache.max_shutdown_io_lag", 16); // number of seconds the cache spends writing pending data and closing files after shutdown has been signalled //user_pref("browser.cache.frecency_half_life_hours", 128); // lower cache sweep intervals, the half life used to re-compute cache entries frecency (in hours) -// disable clearing cache on shutdown: -//user_pref("privacy.clearOnShutdown.cache", false); // PREF: increase memory cache size // [1] https://www.makeuseof.com/tag/how-much-data-does-youtube-use/ -//user_pref("browser.cache.memory.capacity", 5242880); // default=-1; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB +user_pref("browser.cache.memory.capacity", -1); // enforce DEFAULT; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached /**************************************************************************** @@ -217,7 +215,7 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 // PREF: increase TLS token caching user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; faster SSL (fast reconnects) -// These do not help speed, probably: +// These do not help speed: // PREF: DoH requests //user_pref("network.trr.request_timeout_ms", 800); // default=1500 //user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT From f2408dd15763c8cdb2bb378b545cf65c786425d3 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Wed, 30 Nov 2022 12:43:36 -0500 Subject: [PATCH 15/24] add content.notify.interval --- Fastfox.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Fastfox.js b/Fastfox.js index ae44889..487d774 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -161,6 +161,16 @@ user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=314572 user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds) +// PREF: notification interval (in microseconds) +// The notification interval has a dramatic effect on how long it takes to +// initially display content for slow connections. The default value +// provides good incremental display of content without causing an increase +// in page load time. If this value is set below 1/10 of a second it starts +// to impact page load performance. +// [1] https://searchfox.org/mozilla-central/rev/c1180ea13e73eb985a49b15c0d90e977a1aa919c/modules/libpref/init/StaticPrefList.yaml#1824-1834 +//user_pref("content.notify.interval", 360000); // (.36s), default=120000 (.12s) + //user_pref("content.notify.ontimer", true); // DEFAULT + // PREF: disable QUIC for faster upload speeds // Firefox currently has a bug with impacting upload speeds with HTTP3 // [TEST] https://speedof.me/ From 349ed50ebd0e5e3d099d45e89f370b5e19d5593a Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Wed, 30 Nov 2022 13:01:49 -0500 Subject: [PATCH 16/24] update content.notify.interval description --- Fastfox.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index 487d774..e5894a5 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -162,13 +162,18 @@ user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahea user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds) // PREF: notification interval (in microseconds) +// When Firefox is loading a page, it periodically reformats +// or "reflows" the page as it loads. The page displays new elements +// every 0.12 seconds by default. These redraws increase the total page load time. +// Lowering the interval will decrease the perceived page load time +// but increase the total loading time. // The notification interval has a dramatic effect on how long it takes to // initially display content for slow connections. The default value // provides good incremental display of content without causing an increase // in page load time. If this value is set below 1/10 of a second it starts // to impact page load performance. // [1] https://searchfox.org/mozilla-central/rev/c1180ea13e73eb985a49b15c0d90e977a1aa919c/modules/libpref/init/StaticPrefList.yaml#1824-1834 -//user_pref("content.notify.interval", 360000); // (.36s), default=120000 (.12s) +//user_pref("content.notify.interval", 480000); // (.48s), default=120000 (.12s) //user_pref("content.notify.ontimer", true); // DEFAULT // PREF: disable QUIC for faster upload speeds From 078a8fa5ca29fcec755d5669a46f66d245692e9e Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Thu, 1 Dec 2022 08:59:12 -0500 Subject: [PATCH 17/24] move dns entries to NETWORK --- Fastfox.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index e5894a5..24cc2c0 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -227,6 +227,11 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24 //user_pref("network.http.max-urgent-start-excessive-connections-per-host", 6); // default=3 //user_pref("network.http.pacing.requests.min-parallelism", 18); // default=6 +// PREF: increase DNS cache +user_pref("network.dnsCacheEntries", 20000); +user_pref("network.dnsCacheExpiration", 3600); // keep entries for 1 hour +user_pref("network.dnsCacheExpirationGracePeriod", 240); + // PREF: increase TLS token caching user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; faster SSL (fast reconnects) @@ -258,9 +263,6 @@ user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; faster S //user_pref("network.http.speculative-parallel-limit", 18); // default=6; overrides SecureFox //user_pref("network.dns.disablePrefetch", false); // overrides SecureFox //user_pref("network.dns.disablePrefetchFromHTTPS", false); - user_pref("network.dnsCacheEntries", 20000); - user_pref("network.dnsCacheExpiration", 3600); - user_pref("network.dnsCacheExpirationGracePeriod", 240); //user_pref("browser.urlbar.speculativeConnect.enabled", true); // overrides SecureFox //user_pref("browser.places.speculativeConnect.enabled", true); // overrides SecureFox //user_pref("network.prefetch-next", true); // overrides SecureFox From d38de11c8ee1df29b4643d56774cfe108064793e Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Thu, 1 Dec 2022 09:03:08 -0500 Subject: [PATCH 18/24] add content.notify.interval --- Fastfox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index 24cc2c0..6e1926a 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -173,7 +173,7 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c // in page load time. If this value is set below 1/10 of a second it starts // to impact page load performance. // [1] https://searchfox.org/mozilla-central/rev/c1180ea13e73eb985a49b15c0d90e977a1aa919c/modules/libpref/init/StaticPrefList.yaml#1824-1834 -//user_pref("content.notify.interval", 480000); // (.48s), default=120000 (.12s) +user_pref("content.notify.interval", 360000); // (.36s), default=120000 (.12s) //user_pref("content.notify.ontimer", true); // DEFAULT // PREF: disable QUIC for faster upload speeds From 11fb4483171f9573909bbe76e26619aadfb0e76f Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Thu, 1 Dec 2022 09:03:37 -0500 Subject: [PATCH 19/24] remove warning --- Fastfox.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index 6e1926a..c0149c1 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -1,11 +1,3 @@ -// -/* Do not COPY+PASTE this file. If you do, only COPY+PASTE the user_pref itself. - * - * If you make changes to your about:config while the program is running, the - * changes will be overwritten when the application restarts. - * - * To make a change to preferences, you will have to edit the user.js file. - */ /**************************************************************************************** * Fastfox * From 65447bc01cde6c10d661f9b531c76935abfb65b2 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Sun, 4 Dec 2022 12:06:34 -0500 Subject: [PATCH 20/24] Update Fastfox.js --- Fastfox.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index c0149c1..c8230f5 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -15,6 +15,21 @@ user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250 user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5 +// PREF: notification interval (in microseconds) +// When Firefox is loading a page, it periodically reformats +// or "reflows" the page as it loads. The page displays new elements +// every 0.12 seconds by default. These redraws increase the total page load time. +// Lowering the interval will decrease the perceived page load time +// but increase the total loading time. +// The notification interval has a dramatic effect on how long it takes to +// initially display content for slow connections. The default value +// provides good incremental display of content without causing an increase +// in page load time. If this value is set below 1/10 of a second it starts +// to impact page load performance. +// [1] https://searchfox.org/mozilla-central/rev/c1180ea13e73eb985a49b15c0d90e977a1aa919c/modules/libpref/init/StaticPrefList.yaml#1824-1834 +user_pref("content.notify.interval", 360000); // (.36s), default=120000 (.12s) + //user_pref("content.notify.ontimer", true); // DEFAULT + // PREF: set the minimum interval between session save operations // Increasing this can help on older machines and some websites, as well as reducing writes // [1] https://bugzilla.mozilla.org/1304389 @@ -153,21 +168,6 @@ user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=314572 user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds) -// PREF: notification interval (in microseconds) -// When Firefox is loading a page, it periodically reformats -// or "reflows" the page as it loads. The page displays new elements -// every 0.12 seconds by default. These redraws increase the total page load time. -// Lowering the interval will decrease the perceived page load time -// but increase the total loading time. -// The notification interval has a dramatic effect on how long it takes to -// initially display content for slow connections. The default value -// provides good incremental display of content without causing an increase -// in page load time. If this value is set below 1/10 of a second it starts -// to impact page load performance. -// [1] https://searchfox.org/mozilla-central/rev/c1180ea13e73eb985a49b15c0d90e977a1aa919c/modules/libpref/init/StaticPrefList.yaml#1824-1834 -user_pref("content.notify.interval", 360000); // (.36s), default=120000 (.12s) - //user_pref("content.notify.ontimer", true); // DEFAULT - // PREF: disable QUIC for faster upload speeds // Firefox currently has a bug with impacting upload speeds with HTTP3 // [TEST] https://speedof.me/ From 2d7db5a003f2808c0c0005f6b67764e285fc1478 Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Thu, 22 Dec 2022 17:18:15 -0500 Subject: [PATCH 21/24] Array.fromAsync --- Fastfox.js | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Fastfox.js b/Fastfox.js index c8230f5..2340015 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -71,6 +71,14 @@ user_pref("browser.startup.preXulSkeletonUI", false); * SECTION: EXPERIMENTAL * ****************************************************************************/ +// PREF: WebGPU [HIGHLY EXPERIMENTAL!] [NIGHTLY] +// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1746245 +// [2] https://github.com/gpuweb/gpuweb/wiki/Implementation-Status +// [3] https://hacks.mozilla.org/2020/04/experimental-webgpu-in-firefox/ +// [4] https://developer.chrome.com/docs/web-platform/webgpu/ +//user_pref("dom.webgpu.enabled", true); + //user_pref("gfx.webgpu.force-enabled", true); + // PREF: about:home startup cache [NIGHTLY] // A cache for the initial about:home document that is loaded by default at startup // The purpose of the cache is to improve startup performance @@ -84,7 +92,7 @@ user_pref("layout.css.grid-template-masonry-value.enabled", true); // [2] https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91 user_pref("dom.enable_web_task_scheduling", true); -// PREF: enable animation-composition [NIGHTLY] +// PREF: enable CSS Animation Composition [NIGHTLY] // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1785329 // [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1293490 // [3] https://developer.mozilla.org/en-US/docs/Web/CSS/animation-composition @@ -94,21 +102,20 @@ user_pref("layout.css.animation-composition.enabled", true); // [1] https://github.com/tc39/proposal-shadowrealm/blob/main/explainer.md#introduction //user_pref("javascript.options.experimental.shadow_realms", true); -// PREF: Wasm GC [NIGHTLY] +// PREF: Wasm GC + References [NIGHTLY] // [1] https://github.com/WebAssembly/gc/blob/main/proposals/gc/Overview.md +// [2] https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md //user_pref("javascript.options.wasm_gc", true); - -// PREF: Wasm Function References [NIGHTLY] -// [1] https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md //user_pref("javascript.options.wasm_function_references", true); -// PREF: WebGPU [HIGHLY EXPERIMENTAL!] [NIGHTLY] -// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1746245 -// [2] https://github.com/gpuweb/gpuweb/wiki/Implementation-Status -// [3] https://hacks.mozilla.org/2020/04/experimental-webgpu-in-firefox/ -// [4] https://developer.chrome.com/docs/web-platform/webgpu/ -//user_pref("dom.webgpu.enabled", true); - //user_pref("gfx.webgpu.force-enabled", true); +// PREF: Array.fromAsync [NIGHTLY] +// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1795452 +//user_pref("javascript.options.experimental.array_grouping", true); +//user_pref("javascript.options.experimental.enable_change_array_by_copy", true); + +// PREF: not yet categorized / need documentation [NIGHTLY] +//user_pref("javascript.options.experimental.iterator_helpers", true); +//user_pref("javascript.options.experimental.weakrefs.expose_cleanupSome", true); /**************************************************************************** * SECTION: MAKE FIREFOX FAST * From 16d5acbc006f242e3fdd65f34869bd7f82653463 Mon Sep 17 00:00:00 2001 From: bestplayerbotphone <121412413+bestplayerbotphone@users.noreply.github.com> Date: Mon, 26 Dec 2022 10:44:25 +0800 Subject: [PATCH 22/24] Add a missing comment --- Fastfox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index 2340015..320cf79 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -148,7 +148,7 @@ user_pref("media.hardware-video-decoding.enabled", true); // [1] https://www.ghacks.net/2020/12/14/how-to-find-out-if-webrender-is-enabled-in-firefox-and-how-to-enable-it-if-it-is-not/ //user_pref("gfx.webrender.enabled", true); //user_pref("gfx.webrender.software", true); // Webrender uses the CPU and not the GPU - //user_pref("gfx.webrender.software.opengl", true); [LINUX] + //user_pref("gfx.webrender.software.opengl", true); // [LINUX] //user_pref("media.ffmpeg.vaapi.enabled", true); // [LINUX] // PREF: GPU-accelerated Canvas2D tweaks From 47296c3db761cc397fdcdfa1e9ed147d3cd02adc Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 26 Dec 2022 14:39:05 -0500 Subject: [PATCH 23/24] default: "browser.cache.memory.capacity", -1 --- Fastfox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index 320cf79..200f69f 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -204,7 +204,7 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c // PREF: increase memory cache size // [1] https://www.makeuseof.com/tag/how-much-data-does-youtube-use/ -user_pref("browser.cache.memory.capacity", -1); // enforce DEFAULT; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB +//user_pref("browser.cache.memory.capacity", -1); // DEFAULT; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached /**************************************************************************** From 5526f98e360d3d52721b70404553b54c7201c3fd Mon Sep 17 00:00:00 2001 From: yokoffing <11689349+yokoffing@users.noreply.github.com> Date: Mon, 26 Dec 2022 14:45:05 -0500 Subject: [PATCH 24/24] reverse --- Fastfox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fastfox.js b/Fastfox.js index 200f69f..b677ec9 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -204,7 +204,7 @@ user_pref("media.cache_resume_threshold", 6000); // default=30; when a network c // PREF: increase memory cache size // [1] https://www.makeuseof.com/tag/how-much-data-does-youtube-use/ -//user_pref("browser.cache.memory.capacity", -1); // DEFAULT; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB +//user_pref("browser.cache.memory.capacity", -1); // enforce DEFAULT; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached /****************************************************************************