2008年10月8日 星期三

Firefox加速微調

參考 Mozilla Taiwan討論區 [轉]五分鍾使你的Firefox快兩倍 and HOWDY資訊分享論壇 Firefox 加速技巧!!!用FireFox必進
這應該是轉了又轉,轉了又轉的文章…我也不知道出處了,只列上我發現此文的地方
正文



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

還是像我在從前解釋過的那樣,激活這個鍵值之後,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。

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

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

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


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

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


  • interrupt→無間斷運行、更快地加載
content.interrupt.parsing
右鍵新建 Boolean 值,鍵名為 content.interrupt.parsing,賦值 true。


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


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

在前面我們提到了一個鍵值 content.interrupt.parsing,通過激活她實際上我們可以在載入頁面的過程中跟
Firefox產生互動,畢竟我們每一個人的心裡都充滿了愛。把
content.interrupt.parsing激活後當頁面載入時Firefox會有兩種操作模式:高頻和低頻中斷模式。

  1. 使用高頻模式時,網頁回饋的頻率也很高,可看到平滑的網頁載入過程!
  2. 低頻時,網頁回饋的頻率相對比較低,可是這時反而加快了網頁載入的時間。
當我們移動鼠標或者觸擊鍵盤時,高頻模式被激活。在經過某一段時間我們沒有碰鼠標和鍵盤,程序沒有接到鼠標和鍵盤發出的任何指令時,Firefox 就會自動進入低頻模式工作,而這所謂的某一段時間,就是我們這裡要指定的值。

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


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


  • notify→更快地渲染處理
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 的時候,這裡的設置才會生效。