2007-06-15

Firefox 的加速

我現在的日常工作,很多都在瀏覽器上完成,最近好用/玩的WEB 2.0應用都極為消耗頻寬與資源,我又有同時開很多網頁的習慣,瀏覽器的效率調校就變得重要。
Firefox的調校,已經在很多地方,被很多人提過了。我在這裡簡單的把我的方法寫出來,大家可以參考看看:
Firefox的加速分為幾個方面:
  1. 網路最佳化:
    1. 用Fasterfox這個套件
    2. 設定網路連結數: 詳情請見下面這個網址

  2. Cache最佳化:
    我用ram disk當作cache,因為現在用的NB,有2G RAM,開256BM當做虛擬磁碟機,放firefox的cache暫存檔,執行效率會快非常多。有一次重裝firefox,忘了把暫存檔的目錄換到虛擬磁碟機,對於習慣快速瀏覽的我,就覺得火狐跑起來卡卡的。
    設定的方法是:
    1. 在網址列填上 about:config
    2. 設定下面的項目: browser.cache.disk.parent_directory=虛擬磁碟機上的目錄
    3. 重開Firefox

  3. CPU最佳化:
    我用DM2 這個視窗管理小程式,安裝之後,把mouse放到Firefox的title bar上,按右鍵,設定優先權,如此一來,你的火狐就會從慢跑變成快跑了(Firefix是工作的平台,本就該讓它的優先權高些)。DM2的介紹,可以參考Nelson 的遊樂場的介紹

1 則留言:

匿名 提到...

Firefox啟動很慢,如何解決?教你加速吧!

Firefox啟動很慢,如何解決?
  很多人喜歡為Firefox灌很多的擴充套件,讓Firefox變得更好用,但是似乎會讓啟動速度變慢,是真的有這回事嗎?要如何改善呢?其實根據Firefox中文官網討論區的討論,許多人都碰到Firefox啟動速度變慢的問題,但速度慢和安裝的擴充套件數量並沒有明確的關連,主要原因是其中幾項擴充套件如SWITCH PROXY與TABBROWSERS EXTENSIONS所造成的,解決的方法除了參閱討論區的討論外,我們可以使用Firefox Preloader這個工具,在Windows啟動時,把一些Firefox會用到的元件預先載入記憶體,並讓Firefox常駐在系統列上,如此可以加快Firefox的啟動速度。
1. 首先到「 [url]http://nchc.dl.sourceforge.net/sourceforge/ffpreloader/FirefoxPreloaderSetup.exe[/url]」下載及安裝Firefox Preloader,要注意的是在安裝過程中的「Select Additional Tasks」步驟時,記得要勾選「Launch Firefox Preloader at Windows Startup」讓Windows一開機就執行Firefox Preloader,這樣才可以發揮預先載入的效用。

2. 安裝完後,往後每一次開機,Firefox Preloader就會自動執行,並常駐在系統列,要啟動Firefox只要在系統列的圖示上按兩下滑鼠左鍵,或者按一下滑鼠右鍵,然後點選右鍵選單中的【Open My Homepage】即可。

3. 如果你的Firefox不是安裝在預設路徑,Firefox Preloader找不到的話,可以在圖示上按一下滑鼠右鍵,點選右鍵選單中的【Preloader Options】。

4. 進入「Firefox Preloader Options」對話盒後,取消勾選「Automatically find Firefox」,然後按下〔Browse〕自己指定Firefox的路徑即可。

根據 engtech 的文章 “How to fix the Firefox memory leak (Firefox hack)“,有五個 Firefox 的隱藏設定可減低 Firefox 猛力消耗記憶體的問題。嗯,要分清楚這實際上並不是真的修正 Firefox memory leak 的問題,只是把一些看來是誤設了的選項給修正過來。起初其實我只是試了一個就覺得效果非想明顯,所以就把餘下的選項都更改了。

首先在 Firefox 的 address bar 內輸入 about :config 來打開「隱藏」的設定頁面。之後在頁內那 Filter 欄內輸入 “capacity”, 看到只會剩下 “browser.cache.disk.capacity” 一項,雙擊這選項,把預設的 50000 設成 5000 就可以了(我那是公司的電腦,系統記憶體只有 512MB)。文中提到,系統記憶體是 128MB-512MB 的話就建議把這設成 5000,512MB-1GB 的就設成 15000。上至 1GB 系統記憶體的也只需設成 15000,那可想而知那預設的 50000 是多麼的過份!改動這個前,我公司那 Firefox 用了半天,開著近 30 個分頁,會用上約 190MB 記憶體,那時已覺得系統要經常做 swapping,Firefox 的反應也不太好;改動以後,就算 Firefox 沒關閉過,由早上用至放工前,也是開著近 30 個分頁,Firefox 也只是佔用了約 110MB 記憶體,效果超過 40% 啊!

至於其他的設定,我覺得反而效果不太明顯,不過每個人的系統設定也不同所以也說說吧。
browser.cache.memory.capacity :
Firefox 本身並沒有這個選項的,要自行新增一個 integer 的選項才行。那要設成多少呢?根據 mozillaZine 的數據,系統預設的自動化設定會看看系統記憶體是多少再設成下表那樣。我自己則把數字再調低了一點,看看會否使 Firefox 變慢了或是可省下更多記憶體。
系統記憶體 Firefox 快取 (KB)
32 MB 2048
64 MB 4096
128 MB 8192
256 MB 14336
512 MB 22528
1 GB 32768
2 GB 45056
4 GB 59392
8 GB 75776

config.trim_on_minimize :
在 Windows 中才有效的選項,把 Firefox 視窗縮小到工作列的話就會把部份記憶體 swap 到硬碟中。不過反過來這會使 Firefox 「叫回來」的反應變慢,如果系統不是太少記憶體或不是其他多工的程式需要更多記憶體的話我個人不太建議改變這個設定。

network.prefetch-next :
這會把 rel=”prefetch” 的網頁都預先載入。雖然這會使網頁瀏覽過程更快更順暢,但你不會看的頁面也有可能會被預先載入啊,所以還是關掉的好。把其雙擊設成 false 就可以了。

browser.sessionhistory.max_total_viewers :
這就是 Firefox 能快速地前後頁面的關鍵了。如果認為自己不會常常需要很快地回到之前去過的網頁的話,把這個設的小一點可有助減低記憶體消耗。我在公司那 Firefox 把這個設成 3 而已。

在視窗縮小時會自動釋放記憶體,可解決它吃記憶體的問題︰
#真假值,config.trim_on_minimize,True

加速設定︰
整數,content.notify.backoffcount,5
真假值,network.http.pipelining,true
真假值,network.http.proxy.pipelining,true
整數,network.http.pipelining.maxrequests,8
真假值,plugin.expose_full_path,true
整數,ui.submenuDelay,0

高速電腦用設定︰
整數,browser.cache.memory.capacity,65536
真假值,content.interrupt.parsing,true
整數,content.max.tokenizing.time,2250000
整數,content.notify.interval,750000
真假值,content.notify.ontimer,true
整數,content.switch.threshold,750000
整數,network.http.max-connections,48
整數,network.http.max-connections-per-server,16
整數,network.http.max-persistent-connections-per-proxy,165
整數,network.http.max-persistent-connections-per-server,8
整數,nglayout.initialpaint.delay,0

加快瀏覽速度︰
真假值,browser.turbo.enabled,true
真假值,network.http.pipelining,true
真假值,network.http.pipelining.firstrequest,true
整數,network.http.pipelining.maxrequests,32
真假值,network.http.proxy.pipelining,true
整數,nglayout.initialpaint.delay,750000