diff --git a/FastFox.js b/FastFox.js index 0cf5a9b..a942beb 100644 --- a/FastFox.js +++ b/FastFox.js @@ -1,44 +1,93 @@ /****** - * name: FastFox * description: Improve FF performance -* date: 23 March 2020 +* date: 24 March 2020 * version 74 * authors: hjs * url: https://github.com/hjstephens09/Better-Fox * license: MIT: https://github.com/hjstephens09/Better-Fox/blob/master/LICENSE - ******/ -/* Activate Webrender + +/*********************************************************************************************** + * + * [NOTE] If you have 2GB of RAM or less, or a low-end PC in general, you will need + * to test these settings individually, and in some cases, leave them to their defaults entirely. + * +***********************************************************************************************/ + +/* Activate Webrender, FF's new rendering engine * Scroll webpages @ 60 FPS - * https://wiki.mozilla.org/Platform/GFX/WebRender_Where ***/ + * [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 ***/ user_pref("gfx.webrender.all", true); -/* Lazy Image Loading ***/ -user_pref("dom.image-lazy-loading.enabled", true); - -/* Paint visuals on the webpage as fast as possible ***/ -user_pref("nglayout.initialpaint.delay", 0); // 0=immediate, 250=default - -/* Significantly speed up Firefox ***/ -user_pref("network.http.max-persistent-connections-per-server", 10); // default=6, don't go past 10 -user_pref("browser.cache.disk.metadata_memory_limit", 51200); -user_pref("network.http.max-connections", 1500); -user_pref("content.notify.interval", 500000); // [HIDDEN] +/* Increase speed of gradual rendered elements + * The function of this setting is associated with the gradual display of rendered elements on a page. + * In practice, a page is not loaded completely at once, but it is loaded gradually. Every time a new element is loaded, + * the page is refreshed, and the default interval for this function is set to 0.12 seconds (in other words, the page displays + * new elements every 0.12 seconds). However, since these redraws will increase the total page load time, you can set a new value + * of 500000(ms), which corresponds to 0.5 sec. ***/ user_pref("content.notify.ontimer", true); // [HIDDEN] +user_pref("content.notify.interval", 500000); // [HIDDEN] + +/* Improve the browser’s loading times + * Firefox is configured to apply low frequency mode after 0.75 seconds of user inactivity. Every time the browser goes to + * low frequency mode, it becomes faster at loading pages. Therefore, it is beneficial to reduce the time it takes for FF + * to enter low frequency mode. Thus, a value of 0.25 seconds (250000 ms) should be fine for that purpose. + * [1] https://www.download3k.com/articles/How-To-Optimize-Firefox-By-Tweaking-Hidden-Settings-In-The-about-config-Page-01955#content-switch.threshold user_pref("content.switch.threshold", 250000); // [HIDDEN] user_pref("content.interrupt.parsing", true); // [HIDDEN] -/* Decrease delay of security dialog when downloading extensions ***/ +/* Paint visuals on the webpage as fast as possible ***/ +user_pref("nglayout.initialpaint.delay", 0); // 0=immediate, 250=default + +/* Lazy Image Loading ***/ +user_pref("dom.image-lazy-loading.enabled", true); + +/* Prevent FF from going offline + * FF manages network connectivity poorly. It's a constant nuisance if your connectivity goes out, even for a second. + * Stalls browsing, can make you think your wifi is down... + * Best to disable unless you need it. + * [1] https://lifehacker.com/stop-firefox-from-automatically-entering-work-offline-5714560 ***/ +user_pref("network.manage-offline-status", false); + +/* Increase active connections +/* According to the default value, there will be 6 active connections kept for future requests to a server. + * If, at some point, more connections are needed, a delay will occur until there is a slot available. + * To avoid any idle periods, we can set more alive connections, thus forcing the browser to load several elements of a website. + * [1] https://www.download3k.com/articles/How-To-Optimize-Firefox-By-Tweaking-Hidden-Settings-In-The-about-config-Page-01955#Network.http.max-connections + * default=6, recommended=10. Don't go past 10 or websites may blacklist your IP! ***/ +user_pref("network.http.max-persistent-connections-per-server", 10); + +/* Increase communication channels + * Perform this change in order to open communication channels with the server, and consequently load several elements of the website. + * Increased browser speed shall be mainly observed in pages that contain data such as images and videos, which slow down loading times. + * The range of value for this setting goes from 1 to 65535. However, it is rather unreasonable to increase it to the maximum + * allowed value, and subsequently strain the system, so give it a try with a value of 1500. + * [1] https://www.download3k.com/articles/How-To-Optimize-Firefox-By-Tweaking-Hidden-Settings-In-The-about-config-Page-01955#Network.http.max-persistent-connections-per-server + * default=900 ***/ +user_pref("network.http.max-connections", 1500); + +/* Increase the memory capacity in Firefox, in order to load more pages faster + * If you enter a high value, but you don’t have a lot of RAM in your computer (e.g. 2GB), + * then you’ll just decrease the overall system speed. So pick wisely, and test the browser + * (and overall system) performance before leaving this value changed permanently. + * If you notice that it’s not working for you, then revert it to its default value. + * default=250 -> 250KB + * midrange=10000 -> 10MB + * recommended=51200 -> 50MB ***/ +user_pref("browser.cache.disk.metadata_memory_limit", 51200); + +/* Decrease delay of security dialog when downloading extensions ***/ user_pref("security.dialog_enable_delay", 0); -/* Disable Reader mode - * FF will not have to parse webpage when navigating ***/ -user_pref("reader.parse-on-load.enabled", false); +/* Hide image placeholders ***/ +user_pref("browser.display.show_image_placeholders", false); +/** SMOOTH SCROLLING ***/ /* Edge-like smooth scrolliing - * See other configs: + * This is my preferred configuration. See other by using the link: * [1] https://www.reddit.com/r/firefox/comments/bvfqtp/these_are_the_smooth_scrolling_tweaks_i_play/epozw68 ***/ user_pref("apz.frame_delay.enabled", false); user_pref("general.autoScroll", true); @@ -53,4 +102,11 @@ user_pref("toolkit.scrollbox.horizontalScrollDistance", 4); user_pref("toolkit.scrollbox.verticalScrollDistance", 5); user_pref("mousewheel.min_line_scroll_amount", 40); // adjust to preference, 22-40 +/* Disable Firefox animations ***/ + // user_pref("toolkit.cosmeticAnimations.enabled", false); + +/* Disable Reader mode + * FF will not have to parse webpage when navigating ***/ + // user_pref("reader.parse-on-load.enabled", false); +