2011 年秋天我們開始針對 Firefox 的回應速度進行深入調查,並規劃了一些短期計畫,目標是在日常的使用上也可以顯著感覺到 Firefox 的速度提昇。年底我們正式啟動改善回應速度的 Snappy 計畫。
雖然 Snappy 在 Firefox 11 時初次加入相關更新,不過最重要的效能改善成果,將會在 Firefox 13 中大展身手(目前在 beta 頻道)。Firefox 13 包含不少的相關修正,最明顯的部份在分頁隨選載入、週期性記憶體回收以及程式啟動最佳化上。
分頁隨選載入(Tabs-on-Demand)
分頁隨選載入的目標是提昇含大量分頁的 Firefox 啟動速度。在 Firefox 12 之前,分頁會在啟動時載入,若你先前保存了許多的分頁,你必須等分頁載入完成之後,才能開始與視窗元件進行互動。透過 Firefox 13 的隨選載入分頁功能,只有前景分頁會在開啟時載入,其他的分頁將於選取時才進行載入。透過這樣的機制,Firefox 便可以更快速的啟動,同時降低對於網路、記憶體、處理器的消耗。
週期性記憶體回收(Cycle Collector)
在你在與瀏覽器及網頁內容互動時,記憶體會在需要時動態分配,同時 Firefox 的週期性記憶體回收器 Cycle Collector 會自動的釋出不再需要的記憶體,有效的降低記憶體使用量。在 Firefox 13 中,Cycle Collector 更有效率,花費較少的時間檢驗記憶體是否需要,最終可以降低 Firefox 的遲鈍感。
啟動時間最佳化
Firefox 的啟動時間直接影響所有使用者。我們從啟動時間的檢測中發現,部份未被最佳化的元件,在「首次渲染」(first paint)前就開始執行了。「首次渲染時間」代表 Firefox 的使用者介面出現於螢幕上所需之時間。在 Firefox 13 中我們最佳化了許多元件,例如檔案呼叫、音效協定、拖曳與整體 IO……等程式。我們還在持續測試 Firefox 的啟動程序,以便在未來可以進一步最佳化。
除此之外,Firefox 13 中的 Snappy 還包含了許多的修正與最佳化,例如 IO 資源競爭、字體渲染、即時書籤更新等。所有修正都是為了提供更高速的使用體驗。我們也正持續針對 Firefox 的回應性進行修正,像是記憶體使用、關閉時間、網路快取與連線、選單與圖形……等都會在未來的更新中陸續完成。
原文 / Getting snappy – performance optimizations in Firefox 13 ✩ Mozilla Hacks
授權 / 創用CC 姓名標示-相同方式分享-3.0
φ sntc06 翻譯 - Irvin 編輯
沒有留言:
張貼留言