K-Meleon

KMeleonWiki > Resources > MacroLibrary > Page Speed

Submitted by: Johnny Sim-Bravenboer



Notes:

Going through the K-Meleon website, looking for ways to get even more out of the incredibly fast K-Meleon browser, I stumbled on the PageSpeed Tips & Tricks page.


For my own convenience I used this tweak and turned it into a macro, allowing me to en- or disable the PageSpeed tweak from the menu with one single click.


Regards and thanks for the tweak,

John... ;-)


In Macros:


To have the option properly checked on startup, add to the following macro:


Sync{

&EngineSync?;
setcheck("macros(SN0)",getpref(INT,$so)==0? true:false);
setcheck("macros(SN1)",getpref(INT,$so)==1? true:false);
setcheck("macros(SN2)",getpref(INT,$so)==2? true:false);
setcheck("macros(SearchLock?)",getpref(BOOL,$sl));
...

setcheck("macros(ToggleSpeed?)", getpref(BOOL, "network.http.pipelining") == true ? true:false);

}


Add the following macros as a whole:


# PAGESPEED MACRO

# TOGGLE PAGESPEED

ToggleSpeed?{
   menu = "Enable Page Load Speed-Up"
   getpref(BOOL, "network.http.pipelining") == true ? &DisableSpeed?:&EnableSpeed?;
   &Sync;   
   getpref(BOOL, "network.http.pipelining") == true ? $warn = "enabled":$warn = "disabled";
   Alert("Page Load Speed-Up has been ".$warn."!");
}

# ENABLE PAGESPEED

EnableSpeed?{
# TURN ON TIMER BASED REFLOW MANAGEMENT
   setpref(BOOL, "content.notify.ontimer", true);

# SETS THE ALLOWED TIME BETWEEN REFLOWS IN MICROSECONDS
   setpref(INT, "content.notify.interval", 100);

# SET THE NUMBER OF REFLOWS TO DO BEFORE WAITING FOR THE REST OF THE PAGE TO ARRIVE
   setpref(INT, "content.notify.backoffcount", 200);

# ENABLE IMPROVED PIPELINING
   setpref(BOOL, "network.http.pipelining", true);
   setpref(BOOL, "network.http.pipelining.firstrequest", true);
   setpref(INT, "network.http.pipelining.maxrequests", 100);
   setpref(BOOL, "network.http.proxy.pipelining", true);

# INCREASE MULTI-THREADED DOWNLOAD PERFORMANCE
   setpref(INT, "network.http.max-connections", 60);
   setpref(INT, "network.http.max-connections-per-server", 32);
   setpref(INT, "network.http.max-persistent-connections-per-proxy", 16);
   setpref(INT, "network.http.max-persistent-connections-per-server", 8);

# REMOVE PAINT DELAY WHEN LOADING
   setpref(INT, "nglayout.initialpaint.delay", 0);

# DISBALE KEEP-ALIVE
   setpref(BOOL, "network.http.keep-alive", false);
   setpref(BOOL, "network.http.proxy.keep-alive", false);
}

# DISABLE PAGESPEED

DisableSpeed?{
   setpref(BOOL, "content.notify.ontimer", false);
   setpref(INT, "content.notify.interval", 1000000);
   setpref(INT, "content.notify.backoffcount", 5);
   setpref(BOOL,"network.http.pipelining", false);
   setpref(BOOL,"network.http.pipelining.firstrequest", false);
   setpref(INT, "network.http.pipelining.maxrequests", 4);
   setpref(BOOL, "network.http.proxy.pipelining", false);
   setpref(INT, "network.http.max-connections", 24);
   setpref(INT, "network.http.max-connections-per-server", 8);
   setpref(INT, "network.http.max-persistent-connections-per-proxy", 4);
   setpref(INT, "network.http.max-persistent-connections-per-server", 2);
   setpref(INT, "nglayout.initialpaint.delay", 250);
   setpref(BOOL, "network.http.keep-alive", true);
   setpref(BOOL, "network.http.proxy.keep-alive", true);
}


In Menus:

Add to the existing function:


Browsing Options{

macros(LayersOnly?, Layers Only)
macros(WindowsOnly?, Windows Only)
macros(LayersWindows?, Layers and Windows)

-
macros(ToggleSpeed?)

-
macros(Default, Set As Default Browser...)
}


Comments & Questions

K-Meleon

(c) 2000-2010 kmeleonbrowser.org. All rights reserved.
design by splif.