diff --git a/Fastfox.js b/Fastfox.js index c920c8d..0fc93da 100644 --- a/Fastfox.js +++ b/Fastfox.js @@ -3,7 +3,7 @@ * Fastfox * * "Non ducor duco" * * priority: speedy browsing * - * version: 137 * + * version: 144 * * url: https://github.com/yokoffing/Betterfox * ***************************************************************************************/ @@ -48,6 +48,12 @@ // [2] https://web.archive.org/web/20240115073722/https://dev.opera.com/articles/efficient-javascript/?page=3#reflow // [3] https://web.archive.org/web/20240115073722/https://dev.opera.com/articles/efficient-javascript/?page=3#smoothspeed user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s) +//user_pref("content.notify.interval", 50000); +//user_pref("content.max.tokenizing.time", 150000); +//user_pref("content.switch.threshold", 300000); // default= 750000 +//user_pref("content.interrupt.parsing", true); +//user_pref("content.notify.ontimer", true); +//user_pref("content.maxtextrun", 8191); // DEFAULT // PREF: new tab preload // [WARNING] Disabling this may cause a delay when opening a new tab in Firefox. @@ -63,7 +69,7 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s) // [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1796525 // [3] https://bugzilla.mozilla.org/show_bug.cgi?id=1800412 // [4] https://reddit.com/r/firefox/comments/107fj69/how_can_i_disable_the_efficiency_mode_on_firefox/ -//user_pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false); +user_pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false); // PREF: control how tabs are loaded when a session is restored // true=Tabs are not loaded until they are selected (default) @@ -118,11 +124,16 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s) // [2] https://github.com/yokoffing/Betterfox/issues/153 // [3] https://github.com/yokoffing/Betterfox/issues/198 //user_pref("gfx.canvas.accelerated", true); // [DEFAULT FF133+] - //user_pref("gfx.canvas.accelerated.cache-items", 8192); // DEFAULT FF135+; Chrome=4096 - user_pref("gfx.canvas.accelerated.cache-size", 512); // default=256; Chrome=512 - user_pref("gfx.content.skia-font-cache-size", 20); // default=5; Chrome=20 + //user_pref("gfx.canvas.accelerated.cache-items", 8192); // DEFAULT FF135+; Chrome=4096; alt=32768 + user_pref("gfx.canvas.accelerated.cache-size", 512); // default=256; Chrome=512; alt=4096 + user_pref("gfx.content.skia-font-cache-size", 20); // default=5; Chrome=20; alt=30 + //user_pref("gfx.canvas.max-size", 16384); // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1239151#c2 +// PREF: WebGL +//user_pref("webgl.max-size", 16384); +//user_pref("webgl.force-enabled", true); + // PREF: prefer GPU over CPU // At best, the prefs do nothing on Linux/macOS. // At worst, it'll result in crashes if the sandboxing is a WIP. @@ -188,7 +199,7 @@ user_pref("browser.cache.disk.enable", false); // for recently read cache entries [1]. It is managed by a cache thread, and caches with // metadata in the pool appear to be reused immediately. // [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=986179 -//user_pref("browser.cache.disk.metadata_memory_limit", 500); // default=250 (0.25 MB); limit of recent metadata we keep in memory for faster access +//user_pref("browser.cache.disk.metadata_memory_limit", 500); // alt=16384; default=250 (0.25 MB); limit of recent metadata we keep in memory for faster access // PREF: number of chunks we preload ahead of read // Large content such as images will load faster. @@ -269,8 +280,8 @@ user_pref("browser.cache.disk.enable", false); // [1] https://kb.mozillazine.org/Browser.cache.memory.capacity#-1 // [2] https://searchfox.org/mozilla-central/source/netwerk/cache2/CacheObserver.cpp#94-125 // [3] https://github.com/WaterfoxCo/Waterfox/commit/3fed16932c80a2f6b37d126fe10aed66c7f1c214 -//user_pref("browser.cache.memory.capacity", 131072); // (128 MB) -//user_pref("browser.cache.memory.max_entry_size", 20480); // (20 MB); default=5120 (5 MB) +user_pref("browser.cache.memory.capacity", 131072); // 128 MB RAM cache +user_pref("browser.cache.memory.max_entry_size", 32768); // 32 MB max entry; default=5120 (5 MB) // PREF: amount of Back/Forward cached pages stored in memory for each tab // Pages that were recently visited are stored in memory in such a way @@ -281,7 +292,15 @@ user_pref("browser.cache.disk.enable", false); // is no reason for Firefox to keep memory for this. // -1=determine automatically (8 pages) // [1] https://kb.mozillazine.org/Browser.sessionhistory.max_total_viewers#Possible_values_and_their_effects -user_pref("browser.sessionhistory.max_total_viewers", 4); +user_pref("browser.sessionhistory.max_total_viewers", 4); // default=8 +user_pref("browser.sessionstore.max_tabs_undo", 10); // default=25 +//user_pref("browser.sessionstore.max_entries", 10); // [HIDDEN OR REMOVED] +//user_pref("dom.storage.default_quota", 20480); // 20MB; default=5120 +//user_pref("dom.storage.shadow_writes", true); + +// PREF: tell garbage collector to start running when javascript is using xx MB of memory +// Garbage collection releases memory back to the system. +//user_pref("javascript.options.mem.high_water_mark", 128); [HIDDEN OR REMOVED] /**************************************************************************** * SECTION: MEDIA CACHE * @@ -293,10 +312,10 @@ user_pref("browser.sessionhistory.max_total_viewers", 4); // PREF: media memory cache // [1] https://hg.mozilla.org/mozilla-central/file/tip/modules/libpref/init/StaticPrefList.yaml#l9652 // [2] https://github.com/arkenfox/user.js/pull/941 -user_pref("media.memory_cache_max_size", 65536); // default=8192; AF=65536; alt=131072 +user_pref("media.memory_cache_max_size", 106496); // default=8192; AF=65536; alt=131072 // PREF: media cache combine sizes -//user_pref("media.memory_caches_combined_limit_kb", 524288); // DEFAULT; alt=1048576 +user_pref("media.memory_caches_combined_limit_kb", 2097152); // 2GB; default=524288 //user_pref("media.memory_caches_combined_limit_pc_sysmem", 5); // DEFAULT; alt=10; the percentage of system memory that Firefox can use for media caches // PREF: Media Source Extensions (MSE) web standard @@ -310,19 +329,20 @@ user_pref("media.memory_cache_max_size", 65536); // default=8192; AF=65536; alt= // PREF: adjust video buffering periods when not using MSE (in seconds) // [NOTE] Does not affect videos over 720p since they use DASH playback [1] // [1] https://lifehacker.com/preload-entire-youtube-videos-by-disabling-dash-playbac-1186454034 -user_pref("media.cache_readahead_limit", 7200); // 120 min; default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback -user_pref("media.cache_resume_threshold", 3600); // 60 min; default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold +user_pref("media.cache_readahead_limit", 600); // 10 min; default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback +user_pref("media.cache_resume_threshold", 300); // 5 min; default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold /**************************************************************************** * SECTION: IMAGE CACHE * ****************************************************************************/ // PREF: image cache -//user_pref("image.cache.size", 5242880); // DEFAULT; in MiB; alt=10485760 (cache images up to 10MiB in size) -user_pref("image.mem.decode_bytes_at_a_time", 32768); // default=16384; alt=65536; chunk size for calls to the image decoders +//user_pref("image.cache.size", 10485760); // (cache images up to 10MiB in size) [DEFAULT 5242880] +user_pref("image.mem.decode_bytes_at_a_time", 65536); // default=16384; alt=32768; chunk size for calls to the image decoders +//user_pref("image.mem.max_decoded_image_kb", 512000); // 500MB [HIDDEN OR REMOVED?] // PREF: set minimum timeout to unmap shared surfaces since they have been last used -// This is only used on 32-bit builds of Firefox where there is meaningful +// [NOTE] This is only used on 32-bit builds of Firefox where there is meaningful // virtual address space pressure. // [1] https://phabricator.services.mozilla.com/D109440 // [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1699224 @@ -350,6 +370,7 @@ 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-urgent-start-excessive-connections-per-host", 5); // default=3 //user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32 +user_pref("network.http.request.max-start-delay", 5); // default=10 //user_pref("network.websocket.max-connections", 200); // DEFAULT // PREF: pacing requests [FF23+] @@ -363,24 +384,24 @@ user_pref("network.http.max-persistent-connections-per-server", 10); // default= // true=Firefox will pace requests (default) user_pref("network.http.pacing.requests.enabled", false); //user_pref("network.http.pacing.requests.min-parallelism", 10); // default=6 - //user_pref("network.http.pacing.requests.burst", 14); // default=10 + //user_pref("network.http.pacing.requests.burst", 32); // default=10 // PREF: increase DNS cache // [1] https://developer.mozilla.org/en-US/docs/Web/Performance/Understanding_latency -//user_pref("network.dnsCacheEntries", 1000); // default=400 +//user_pref("network.dnsCacheEntries", 10000); // default=400 // PREF: adjust DNS expiration time // [ABOUT] about:networking#dns // [NOTE] These prefs will be ignored by DNS resolver if using DoH/TRR. -user_pref("network.dnsCacheExpiration", 3600); // keep entries for 1 hour - //user_pref("network.dnsCacheExpirationGracePeriod", 240); // default=60; cache DNS entries for 4 minutes after they expire +user_pref("network.dnsCacheExpiration", 3600); // keep entries for 1 hour; default=60 + //user_pref("network.dnsCacheExpirationGracePeriod", 120); // default=60; cache DNS entries for 2 minutes after they expire // PREF: the number of threads for DNS //user_pref("network.dns.max_high_priority_threads", 40); // DEFAULT [FF 123?] //user_pref("network.dns.max_any_priority_threads", 24); // DEFAULT [FF 123?] // PREF: increase TLS token caching -user_pref("network.ssl_tokens_cache_capacity", 10240); // default=2048; more TLS token caching (fast reconnects) +user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; alt=10240; more TLS token caching (fast reconnects) /**************************************************************************** * SECTION: SPECULATIVE LOADING * @@ -598,6 +619,7 @@ user_pref("layout.css.grid-template-masonry-value.enabled", true); // [2] https://firefox-source-docs.mozilla.org/dom/ipc/process_model.html#web-content-processes //user_pref("dom.ipc.processCount", 8); // DEFAULT; Shared Web Content //user_pref("dom.ipc.processCount.webIsolated", 1); // default=4; Isolated Web Content +//user_pref("dom.ipc.keepProcessesAlive.web", 4); // default=1 [HIDDEN OR REMOVED] // PREF: use one process for process preallocation cache //user_pref("dom.ipc.processPrelaunch.fission.number", 1); // default=3; Process Preallocation Cache