2012年5月26日

輕快跳躍!Firefox 13 的效能最佳化

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 編輯

2012年5月24日

Firefox 將迎來全新佈景主題與更高性能

Mozilla 於三月底釋出 Firefox 2012 發展策略與路線,闡述今年將帶來的主要新功能與變化。

可以看到,路線規劃的列表相當地長,暗示著今年對 Firefox 的開發及用戶來說都會是重要的一年。

Australis 佈景主題更新計畫將包含所有正式支援的平台(Windows、Mac OS X、Linux 與 Android),可以從下方設計圖稿看出,新的介面更加乾淨,在不同平台上外觀也更為一致。


新的用戶介面中也將包含已經預告很久的下載面板,允許你從主要用戶介面中監看下載進度。該功能現在正在緊湊開發中,我嘗試了一個實驗版本,除了一些小 bugs 外,大致如同下方截圖所示。

當然,另一個用戶界面上的大變化將會發生在 Windows 8 的新 Metro UI 上,可望在今年稍後實現。Firefox 的 UI 調整具體會包含什麽,目前還沒有明確的計劃說明。希望這次會快一點,不會像工具列的下載狀態或 Windows 7 的 jumplists 開發的這麼久。

Firefox 的 Home 分頁將是一個新的起始點,包括了 Mozilla 將推出的軟體市集、常用網站、搜尋、甚至聊天面板,希望能成為你的網路中樞。

除了錯誤主控台、網頁主控台、檢測與樣式編輯器(已在 Firefox 11 中引入),網路時間軸面板與 JavaScript 除錯器也將進入網頁開發者選單中。

另外還有許多提升 Firefox 性能的東西:

  • 改進 Firefox 的記憶體回收與垃圾收集器,能顯著降低 Firefox 的延遲狀況。
  • IonMonkey,新的 JavaScript JIT 編譯器。
  • 一個 Firefox 服務會更正某些不正確的 Windows 最佳化,讓 Firefox 更快啟動。
  • 用戶將可以取得數據,了解到哪些套件正在拖慢速度。
  • 重構瀏覽狀態回復功能,改進其速度。

由於附加元件部門與其他的一些重要改進,Firefox 的可用性也將有所提高:

  • 點擊以啟動外掛程式:隨著越來越多的 Flash 廣告出現,這個功能來得再及時不過。類似 Flashblock 套件,簡單來說你需要點影片來允許它們運行。
  • Flash 等流行外掛程式的無縫安裝。
  • 內建 pdf.js 提供的 PDF 閱讀功能(目前已有擴充套件),讓你向一個外掛程式說不見。
  • 使用 twitter、Facebook 與 Gmail 分享連結。如同 Firefox Share 這個一年左右的 Mozilla 實驗室項目。這項功能早就該實現了,希望其架構能夠讓人簡單的增加第三方服務。(Pinterest、Diaspora、還有什麼?)
  • 登入 Firefox,將允許用戶登入 Firefox 並取得個人的網路數據。(包括密碼、表單及同步狀態等)
  • 網路安裝程式,可減少下載時間,具備更好的安裝過程說明。隨著 Firefox 安裝程式的檔案大小增加,這或許可以改善那些較慢網路的用戶體驗。
  • 閱讀模式,將會移除側邊欄、網頁標題及其他相關內容,以專注在網頁的主要內文上,類似 Readability 套件。(HTML5 將大大的有益於此應用,因此網站開發者快導入吧!)
  • 整合翻譯功能,Chrome 已經有這項功能,不過我希望 Firefox 的實作不會跟它一樣。我在 Chrome 上曾試過,很煩。

更多的功能與更新還在醞釀中。想知道它們,倒一杯咖啡或汽水,再看看 Firefox 2012 發展策略與路線吧。

原文 / New theme, top performance, coming to Firefox this year • Mozilla Links
授權 / 創用 CC 姓名標示-非商業性-相同方式分享-2.5

φ 陳三 翻譯 - Irvin 編輯

2012年5月19日

即將來到 Firefox 的新 JS 除錯器

Firefox 正在它的開發者工具箱中加入一個新的 JavaScript 除錯器,除了能夠暫停或繼續運行 JavaScript 程式碼以外,還有對程式設計人員來說非常重要的觀察變數功能。

許多重要的除錯器組件自 Firefox 8 開始陸續加入程式碼中,而幾週前使用者介面組件也開始併入,開始讓它實用化。如同 Panagiotis Astithas 在相關文章中所警示,它還不算完全準備好在日常生活中使用,但已經可以運作。以下影片中可以看出它如何作用:

如你所見,目前大部份的動作是以指令完成的,但這個除錯器已經可以運作的。若依照開發者工具計畫進行,這個除錯器將在今年第三季正式釋出。

原文 / New JavaScript Debugger coming to Firefox • Mozilla Links 授權 / 創用CC 姓名標示-非商業性-相同方式分享-2.5

φ Mika 翻譯 - Irvin 編輯

2012年5月17日

Mozilla 將在行動裝置上支援 H.264

Mozilla 的 CTO Brendan Eich 日前在他的個人部落格上宣佈一個艱難的決定在行動版的 Firefox 上將開始支援 H.264 影片格式。

這麼做的理由很明顯:Mozilla 與 Opera 在這場爭戰,似乎處於孤獨的一方(且 Opera 已在移動平台上透過作業系統的解碼器支援 H.264),而最終的結果是,我們無法提供移動平台使用者最佳的體驗:由於尚未有廣泛的硬體加速支援,WebM 與 Theora 目前都比較耗電。倘若有更多的主流瀏覽器與內容提供者加入的話,原本應該會有的。

一年前 Google 曾宣佈將在 Chrome 上放棄 H.264,轉向兩年前收購並開放的格式 WebM,但實際上未如此發展。最主要的網路影片來源 Youtube,將 HTML5 播放選項藏在難以發現的地方,而且只涵蓋約三分之一的影片,而非如 Google 先前宣稱的百分之百。

考量到 Google 與 Apple 在行動裝置上越來越火熱的競爭,Google 不太可能會實踐這個將為蘋果帶來影片體驗上明顯優勢的承諾了。所以我們目前進行中的工作,就是加上 HTML5 影音元件的硬體加速支援。首先會在 Mozilla 的網路作業系統 Boot2Gecko 這個專案上提供,Android 平台則會在隨後幾週內跟上。

至於桌面平台會如何發展,目前尚未明朗。雖然 Windows 7 與 Mac OS X 上已有適當的解碼器,但 Linux 和 Windows XP 就是另外一回事了。它們在處理 H.264 影片上,雖然有大量且多樣的選擇,但是從網路開發者的角度來說難以確保穩定,所以 Mozilla 或許會附上一個 H.264 解碼器。

Mozilla 基金會主席 Mitchell Baker 在另一篇文章中表示:「我們曾拒絕一個可以增強使用者體驗的技術,希望如此能為使用者帶來更多的自主權。沒什麼人會採用這樣的策略,但我們還是做了」,「我們嘗試為網路帶來一個開放的編碼格式,卻在移動設備上走入死胡同,但我們並未放棄。我們不會因為有時結果不符 Mozilla 的價值而氣餒。在這個僵局上,我們終將會找到解決的方法。」

原文 / Mozilla to support H.264 on mobile • Mozilla Links
授權 / 創用CC 姓名標示-非商業性-相同方式分享-2.5

φ Mika 翻譯 - Irvin 編輯

2012年5月15日

Collusion 偵探社幫你查明尾行者是誰

各大網站在我們上網時跟蹤我們,已然成為個人穩私的巨大威脅。Mozilla 認為這是重大問題,而我們也對此採取行動,例如以圖象化系統表現網站隱私條款,及我們去年推行的 Do Not Track 拒絕追蹤,用以明確告知網站「我不要被追蹤」,也已讓其它瀏覽器起而效尤。

二月底時,Mozilla 的執行長 Gary Kovacs 在 TED 演講「Tracking the trackers」,述說網路追蹤的問題,並展示我們在隱私保護上的最新作為:Collusion 套件。

Collusion 能以圖像方式,展示你瀏覽的網站如何與它人分享資訊。安裝之後,當你瀏覽越多網站,圖象裡就會出現越多節點,具體呈現瀏覽資料在網站之間的流通關係。你還可以把資料輸出為 JSON 格式,進行進一步分析。

安裝後不需重啟 Firefox,立即到 Mozilla 套件中心安裝 Collusion真相只有一個,讓我們告訴你,後方鬼鬼祟祟跟蹤者的幕後藏鏡人是誰!

原 文 / Mozilla’s Collusion tells who’s tracking you • Mozilla Links
授權 / 創用CC 姓名標示-非商業性-相同方式分享-2.5

φ MozLinks 翻譯機動隊成員 & Irvin 編譯

2012年5月8日

大地之神 Gaia 降臨 Mozilla B2G 計畫

三月時我們曾有一篇 Boot to Gecko 的相關報導,討論了網路即是平台的概念。今天我們會把焦點放在 Boot to Gecko(更新:正式命名為 Firefox OS)的使用者介面 Gaia 上。

以 Boot to Gecko 為核心

首先,Boot to Gecko 是包含許多 API 的底層系統,在其上可以搭配任何你想要的介面。Telefonica 已經開發了一個,而 Mozilla 則打造出 Gaia。如此架構讓 B2G 成為一個相當強大且多元的解決方案,我們更期待能看到更多創新的作品!

來看看 Gaia 吧

二月底時,Boot to Gecko 的首席設計師 Josh Carpenter 發表了一些 Gaia 的圖片,而且這些截圖都是真正執行中的 Gaia!以下有一些範例:

Josh 也提到:

手機的性能和靈敏度是優秀使用者體驗的關鍵。即時的碰觸輸入需要裝置上相等快速的回饋。我們都不像以前那麼有耐心。Boot to Gecko 把輸入回饋效能視為計畫的基本要求,也使得我們工程師已經達到令人印象深刻的成果。在基本的硬體上,我們可以看到具更短的開機時間、硬體加速的 CSS 動畫、加上透明圖層還能順暢的播放影片、即時的回應……等等。我們絕對能大幅強化以網頁為基礎的使用者介面創作。

全是 HTML5、CSS 和 JavaScript

相當有意思的是,GAIA 完全透過 HTML5 、CSS 及 JavaScript 開發。你還可以直接在行動裝置或是瀏覽器上檢視原始碼及除錯。

這意味著自行調整專屬的使用者經驗是可行的。這是你的裝置,你該得到你想要的體驗!

Gaia 完全開放!

最美好的是 Gaia 以完全開放的形式開發!所有的原始碼都在 GitHub 上,你可以點選連結過去試看看、或是立即動手幫忙。記住了嗎?這全是 HTML5、CSS 及 JavaScript,請在這個令人興奮的全新環境中一展長才吧!

原文/Gaia, Mozilla’s user interface for Boot to Gecko – all web technologies ✩ Mozilla Hacks
授權/創用 CC 姓名標示─相同方式分享 3.0

φ Parker 翻譯 - Irvin 編輯

2012年5月1日

Firefox 背景靜默更新的常見問題

我(編按:原作者 Brian R. Bondy,Firefox 平台工程師)將在本文中回答關於 Firefox 背景升級功能的系列工程 的常見問題。


背景靜默更新功能是否在 Firefox 12 中首次亮相

背景靜默自動更新是由一系列工作組成,而其中一些已經完成,因此是陸續出現的。

這一系列工作裡最大的三個部分分別為:

  1. 附加元件預設相容。
  2. Mozilla 維護服務使 Windows 上實現真正的背景自動升級。
  3. 背景套用更新,使 Firefox 在各平台上都能在背景套用更新。

Firefox 10 完成附加元件預設相容。

在 Vista 及更新的 Windows 平台,由於更新時會跳出 UAC 對話框,因此無法實現真正的背景自動升級。Firefox 12 的 Mozilla 維護服務解決了這個問題,背景更新時將不再出現 UAC 提示。

Firefox 15 將開始支援背景套用更新。(開發進度


背景套用更新(Background Update)與背景靜默更新(Silent Update)是否一樣

不是,背景套用更新是一項使得背景自動升級更加完善的功能,它是背景靜默升級計畫的一部分。

在 Firefox 12 中,更新將是安靜的(不會跳出 UAC 對話框),但更新作業仍需在啟動 Firefox 時才會套用。這意味著當需要更新時,啟動所耗費的時間會稍微變長。

Firefox 15 將在 Firefox 執行時於背景套用更新。這代表假如有更新,Firefox 啟動所費時間與平常是一樣的。


Firefox 是否會強制我使用背景自動更新

不會,你永遠可以設定該如何升級。

只要打開:選項 → 進階 → 更新

這些選項並沒有改變,事實上在 Firefox 12 中,對於如何升級你的 Firefox,你擁有更多的控制權。

你可以選擇:

  • 自動下載並安裝更新
  • 檢查更新,但不經允許不能安裝
  • 不檢查更新

另外,你可以選擇是否啟用 Mozilla 維護服務來套用更新。如果選擇啟用,你將不會看到 UAC 提示。


如果移除 Mozilla 維護服務,下次更新是否將重新安裝

不會,Mozilla 維護服務只會被安裝一次。假如你在安裝之後將它移除,即使更新也不會再被安裝。


Firefox 會自動安裝除了更新以外的其他東西嗎?

不會,假如背景自動更新選項開啟,唯一會在背景安裝的只有 Firefox 更新。更新檔將會經過驗證,如果被修改過,就不會被安裝。


Mozilla 維護服務是否會拖慢我的電腦

不會,Mozilla 維護服務僅占用少許硬碟空間,而且只會在更新時執行。不在套用更新的過程中,服務就不會運作,當然也就不會對 Firefox 與你的電腦造成影響。


Mozilla 維護服務是否會造成更新較不安全

不會,我們與安全團隊緊密合作,以確保這個功能安全推出。Firefox 只會接受由 Mozilla 釋出、專門為 Firefox 所設計的更新檔。


更頻繁的更新是否會降低安全性

不會,假如你不更新你的瀏覽器,那你就不會有最新的安全性修正。如此才是最嚴重的安全性問題,因為這些被修正的漏洞已經廣為人知,極可能被人利用。


我是否可以在 Firefox 12 中看到背景維護服務的效用

不會,雖然安裝 Firefox 12 的更新時將會安裝 Mozilla 維護服務,但該服務本身無法用於當次更新,因此在 Firefox 12 進行第一次更新前,你還不會體會到這個服務的好處。

Firefox 12 之後的下一次更新可能是 Firefox 13,也有可能是 Firefox 12 的次要更新版本。

原文 / Brian R. Bondy - Frequently asked questions for Silent Updates in Firefox

φ 陈三 翻譯 - birdhackor、Irvin 編輯