K-Meleon

KMeleonWiki > Resources > MacroLibrary > MacroLibrary2 > 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.