(資料圖片僅供參考)
曾幾何時(shí),瀏覽器比現(xiàn)在簡(jiǎn)單得多。瀏覽器就是一個(gè)單一的操作系統(tǒng)進(jìn)程,所有的一切都發(fā)生在一個(gè)進(jìn)程中。這對(duì)于使用 Accessibility Tree(無(wú)障礙樹)來(lái)獲取有關(guān)用戶界面和 Web 內(nèi)容的輔助技術(shù)而言,獲取信息的方式也更加簡(jiǎn)單高效。
不過(guò)隨著使用量和復(fù)雜性的增加,安全漏洞的風(fēng)險(xiǎn)也隨之增加。為了提高性能、穩(wěn)定性和安全性,瀏覽器開始將不同的網(wǎng)頁(yè)轉(zhuǎn)移到不同的進(jìn)程中。而且為了進(jìn)一步提高安全性,如今的瀏覽器還會(huì)將 Web 內(nèi)容進(jìn)程置于沙盒中,進(jìn)一步減少了訪問(wèn)權(quán)限。這意味著輔助技術(shù)相比以往更加難以訪問(wèn)包含無(wú)障礙樹的 Web 內(nèi)容進(jìn)程,也不能向該進(jìn)程注入代碼,無(wú)障礙環(huán)境的情況變得十分復(fù)雜。
Firefox 瀏覽器的無(wú)障礙引擎(Accessibility Engine)負(fù)責(zé)為屏幕閱讀器等輔助技術(shù)提供它們?cè)L問(wèn)網(wǎng)頁(yè)內(nèi)容所需的信息。這些工具需要與瀏覽器交互,并對(duì)用戶或有關(guān)網(wǎng)站的變化作出反應(yīng)。如果瀏覽器因?yàn)榫徛蚱渌麊?wèn)題而出現(xiàn)過(guò)多的延遲,那么使用 Firefox 訪問(wèn)網(wǎng)絡(luò)上的內(nèi)容反而會(huì)成為一種拖累。
雖然現(xiàn)有的無(wú)障礙引擎架構(gòu)為 Firefox 提供了良好的服務(wù),但在目前的架構(gòu)下,F(xiàn)irefox 團(tuán)隊(duì)無(wú)法進(jìn)一步提高速度,而且現(xiàn)有的無(wú)障礙引擎過(guò)于復(fù)雜、難以維護(hù),并且有嚴(yán)重的穩(wěn)定性問(wèn)題,以及需要在不同的操作系統(tǒng)上采用不同的實(shí)現(xiàn)。Firefox 團(tuán)隊(duì)決定重構(gòu)無(wú)障礙引擎,因此 "Cache the World" 項(xiàng)目應(yīng)運(yùn)而生。
這個(gè)項(xiàng)目的目標(biāo)就是讓 Firefox 在與屏幕閱讀器和其他輔助技術(shù)一起使用時(shí)更快,特別是在 Windows 上。根據(jù)官方給出的數(shù)字(下表提供了在重構(gòu)之前和之后的時(shí)間對(duì)比),新架構(gòu)下 Firefox 在多個(gè)場(chǎng)景測(cè)試中,速度都有了顯著提升。
例如,從收件箱中打開一封 Gmail 郵件,現(xiàn)在需要 100 毫秒,而以前需要 200 毫秒。同樣,關(guān)閉 Gmail 郵件并返回收件箱在新架構(gòu)下需要 150 毫秒,而在舊架構(gòu)下需要 410 毫秒。
在加載大型文件、表格和其他內(nèi)容時(shí),所取得的成果更加令人印象深刻。對(duì)一個(gè)大文件的測(cè)試,此次性能提升能夠?qū)⒂脮r(shí)從 175 秒提高到僅需 15 秒。在另一個(gè)對(duì)有超過(guò) 12000 行的表格頁(yè)面進(jìn)行測(cè)試時(shí),加載速度從原本的 128 秒提高到 6 秒。
在新的架構(gòu)中,F(xiàn)irefox 異步地將無(wú)障礙樹從每個(gè) Web 內(nèi)容進(jìn)程推送到主 UI 進(jìn)程。當(dāng)輔助技術(shù)查詢無(wú)障礙樹時(shí),所有的查詢都從緩存中得到響應(yīng),而不需要在 Firefox 進(jìn)程之間進(jìn)行任何調(diào)用。當(dāng)一個(gè)頁(yè)面更新時(shí),內(nèi)容進(jìn)程異步地將緩存更新推送到主進(jìn)程。速度的提高遠(yuǎn)遠(yuǎn)超出了 Firefox 團(tuán)隊(duì)的預(yù)期,而且與舊的架構(gòu)不同,如今他們可以完全控制緩沖區(qū)的更新方式和時(shí)間,因此還有很大的空間來(lái)進(jìn)一步提高 Firefox 的性能。至于代碼維護(hù),一旦完全發(fā)布,將能夠刪除大約 20000 行代碼,其中大部分是操作系統(tǒng)特有的。
新的架構(gòu)已經(jīng)在 Firefox Nightly 中啟用了。如果一切順利,Mozilla 計(jì)劃在 2023 年 1 月的 Firefox 110 測(cè)試版中為 Windows 和 Linux 用戶啟用這一功能。在此之后將在 Firefox 111 或 112 版本中分階段向 Windows 和 Linux 用戶正式推出這一功能。而 Mac 版本還需要更多開發(fā)時(shí)間,因此會(huì)晚一些上線
標(biāo)簽: 火狐瀏覽器,火狐瀏覽器,Mozilla,攻略,教程
- 火狐瀏覽器啟用 “新架構(gòu)”,速度可成倍提升
- 快手處理拜金炫富類視頻115條
- 世界球精選!Twitter Blue可以上傳長(zhǎng)達(dá)60分鐘的視頻了
- Windows11 記事本新增標(biāo)簽頁(yè) (Tabs) 功能
- 天天新動(dòng)態(tài):Apache SpamAssassin 4.0 正式發(fā)布,垃圾郵件過(guò)濾器
- UBports團(tuán)隊(duì)發(fā)布Ubuntu Touch Beta / RC版:全球時(shí)訊
- 微軟工程師展望 Rust 2023:重寫編譯器,解決管理問(wèn)題_全球滾動(dòng)
- 《筆趣閣》未經(jīng)晉江文學(xué)城授權(quán),擅自傳播獨(dú)創(chuàng)作品賠償5萬(wàn)元
- 愛奇藝重啟民謠時(shí)代:從未被遺忘_全球報(bào)道
- 天貓 2023 年貨節(jié)現(xiàn)金紅包最高可領(lǐng) 6666 元_當(dāng)前時(shí)訊