A-A+

Firefox 加速技巧

下面的操作我們都在 about:config 里進行。在 Firefox 的地址欄中輸入 about:config,讓我們開始提速吧。

* network.http.pipelining

在 Filter 中輸入 network.http.pipelining,雙擊賦值為 true,默認為 false。如果沒有找到這個鍵值,可以右鍵新建一個 Boolean,把她賦值為 true 就 OK 了。

還是像我在從前解釋過的那樣,激活這個鍵值之后,Pipelining同時發出成倍數的連接請求,從而達到提升連接速度的效果。網絡上的大多數網站都是基于 HTTP 協議,而 HTTP 1.1可以支持多線程的連接請求,通過這個操作可以減少Firefox載入網頁的時間。不過並不是所有網頁所在的服務器都支持這種操作,所以當你修改鍵值之后卻看不到一點實際效果的時候,請不要對我破口大罵。

* network.http.pipelining.maxrequests

在 Filter 中輸入 network.http.pipelining.maxrequests,雙擊並賦值為 8,默認鍵值為 4。

* network.http.proxy.pipelining

在 Filter 中輸入 network.http.proxy.pipelining,雙擊並賦值為 true。

這兩條優化的道理同上,這里就不再多解釋了。

* network.dns.disableIPv6

在 Filter 中輸入 network.dns.disableIPv6,雙擊並賦值為 true。

IPv6把 IP 地址由 32 位增加到 128 位,從而能夠支持更大的地址空間,當用戶在終端向一個 IPv6-capableDNS服務器發送連接請求時,也許服務器端會錯誤的返回給用戶一個 IPv4 地址。而 Firefox 可以對這一切明察秋毫,不過在Firefox糾錯的同時也必然會導致信號的延遲,所以這里我們把她賦值為 true,禁用掉她。

* content.interrupt.parsing

右鍵新建 Boolean 值,鍵名為 content.interrupt.parsing,賦值 true。

默認這個鍵值並不存在。我們激活這個鍵值之后,當目標網頁載入時,Firefox會根據一定頻率打斷解析的過程,不斷的向用戶反饋她所收集到的網頁信息,有點像流媒體的意思。這時的 Firefox很聰明,不會一根筋的一直鑽牛角。在下面的內容中我還會具體講一下這個鍵值的魅力所在。

* content.max.tokenizing.time

右鍵新建 Integer 值,鍵名為 content.max.tokenizing.time,賦值 2250000。

這個鍵值的作用其實就是指定一個循環事件的處理周期,這里的單位是微秒,要是我沒有算錯的話。理論上當我們將這個值取的越小,網頁就會從視覺上載入的越流暢,因為Firefox會在很短的單位時間里反饋回解析到的網頁信息。可是這樣無疑延遲了網頁整體載入的時間,所以在這里我們不妨將這個周期取的大一些,理論上可以加速網頁的載入。

* content.notify.interval

右鍵新建 Integer 值,鍵名為 content.notify.interval,賦值 750000。

載入一個網頁其實也是一門很大的學問。讓我們來放一個慢動作,我們姑且先把在終端第一次收到的網頁信息很不專業的叫做預載入頁面吧,這個頁面有可能是不完整的圖片或者文字,或者別的媒體文件。從我們第一次向遠端主機發出連接請求到我們在終端收到這個預載入頁面花費的時間,就是這里我們要定義的鍵值。理論上當我們將這個時間設置的很低時,肯定會更快的拿到所謂的預載入頁面,可這是一種殺雞取卵的做法,這樣無形中反而增加了我們整體頁面的載入時間。按照官方的說法,低于 100,000 將會降低 Firefox 的性能,那好吧,那我們把她彪到 750000 吧。

* content.notify.ontimer

右鍵新建 Boolean 值,鍵名為 content.notify.ontimer,賦值 true。

為了使我們上面設置的 750000 微秒生效,還需要把這個鍵值激活。只有這兩個鍵值配合,才會起作用。

* content.notify.backoffcount

右鍵新建 Integer 值,鍵名為 content.notify.backoffcount,賦值 5。

這個鍵值控制Firefox的內置計數器在歸零之前載入頁面返回的次數。我們將目標網頁分成好多個部分進行下載,每下載完一個部分,計數器歸零一次。-1 就是沒有限制,值為 0時這項功能被禁用。這里我們將她設置成5,當返回的次數達到五次而這部分網頁還沒有完全下載完時,那麼剩下的沒有下載完的網頁內容將不會再按照我們預告設置的周期,像之前的五次那樣一點一點的搬運回來,而是會一次性的下載完。也就是說在這個部分的網頁下載過程中,Firefox 一共向我們反饋了 6 次信息,前5次的時間間隔是我們在上面的鍵值中設置的周期 2250000 微秒,而第6次也就是最后一次則沒有時間限制,什麼時候把剩下的下完了,什麼時候反饋回來。

只有當我們在上面提到的 content.notify.ontimer 鍵值為 true 的時候,這里的設置才會生效。

* content.switch.threshold

右鍵新建 Integer 值,鍵名為 content.switch.threshold ,賦值 750000,也就是四分之三秒。

在前面我們提到了一個鍵值 content.interrupt.parsing,通過激活她實際上我們可以在載入頁面的過程中跟Firefox產生互動,畢竟我們每一個人的心里都充滿了愛。把 content.interrupt.parsing 激活后當頁面載入時Firefox會有兩種操作模式:高頻和低頻中斷模式。使用高頻模式時,網頁回饋的頻率也很高,我們坐在顯示器前看到的網頁載入過程也會更加的平滑。低頻時網頁回饋的頻率相對比較低,可是這時反而加快了網頁載入的時間。當我們移動鼠標或者觸擊鍵盤時,高頻模式被激活。在經過某一段時間我們沒有碰鼠標和鍵盤,程序沒有接到鼠標和鍵盤發出的任何指令時,Firefox 就會自動進入低頻模式工作,而這所謂的某一段時間,就是我們這里要指定的值。

* nglayout.initialpaint.delay

右鍵新建 Integer 值,鍵名為 nglayout.initialpaint.delay,賦值 0。

這里實際上延遲了整個網頁的顯示速度,但是因為用戶更喜歡在整個網頁完全截入之前就開始閱讀網頁 (就像流媒體那樣),所以在這里可以把值調為零,加速用戶閱讀網頁的速度,有時候閱讀速度和載入速度並不是成正比的。

標籤: