Jump to content

Real Firefox Tweaks

Recommended Posts

While many supposed tweaks to speed up Firefox are useless, or do more harm than good, I've come across some official optional prefs you can use to fine-tune the timing of page rendering. They can be very helpful on slower connections.

These can be added in the Configuration Console (they're not there by default): enter about:config in the Location Bar, right-click anywhere on the page, select New > Integer (for the first two), enter the pref name and then the value. You can change the value later by right-clicking the pref and selecting Modify.

Firstly, there's nglayout.initialpaint.delay:

Mozilla applications render web pages incrementally - they display what's been received of a page before the entire page has been downloaded. Since the start of a web page normally doesn't have much useful information to display, Mozilla applications will wait a short interval before first rendering a page. This preference controls that interval.

The default is 250 (that's milliseconds). It originally was higher (750 - 1200, depending on the OS), but it was lowered to increase perceived speed by making pages start to render sooner - though it means they take longer to finish rendering. The lower number doesn't help at all with slower connections; the page starts to render when only a little has downloaded, then you get a lot of reflowing (additional data being added in as it downloads). This slows things down, and buttons jump around annoyingly. I find 5000 works well with my 56k dialup connection - play around with different values to find what works best for you.

A related pref is content.notify.interval:

Because reflowing the page every time additional data is received greatly slows down total page load time, a timer was added so that the page would not reflow too often. This preference specfies the minimum amount of time to wait between reflows.

This value is the number of microseconds between reflows, default is 120,000.

Lowering the interval will lower the perceived page loading time but increase the total loading time, especially on slower connections. Values below 100,000 have a significant impact on performance and are not recommended.

I have this set to 480,000, seems to speed up rendering significantly. Again, try out different values to see how they work for you. However, this one won't work by itself, content.notify.ontimer must be set to true before this pref can take effect. That one is a boolean instead of an integer, otherwise the procedure is the same. But be warned:

Setting this preference to true will greatly increase rendering time on high speed connections.

So if you have a very fast connection the last two probably will hurt rather than help. For those on slower connections - there they are, have fun. :hello:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...