平常使用火狐發現速度仍是比不上Chrome。按理說,火狐換上了量子引擎,又通過那麼屢次優化,速度應該有明顯的提高才對。前端
偶然之下,才發現罪魁禍首是我關閉了硬件加速。segmentfault
爲了解決 Window 糟糕的字體渲染,我使用了Mactype,同時也對firefox進行了一些調整:瀏覽器
將默認的 gfx.content.azure.backends;direct2d1.1,skia,cairo 改成: gfx.content.azure.backends;direct2d1.1,cairo,skia 將 gfx.direct2d.disabled 改成 true
後來,偶然在 about:support 裏的「決策日誌」這一項發現了一些有趣的信息:wordpress
DIRECT2D disabled by user: Disabled via gfx.direct2d.disabled WEBRENDER opt-in by default: WebRender is an opt-in feature blocked by runtime: Qualified enable blocked WEBRENDER_QUALIFIED blocked by env: Not Nvidia OMTP broken by runtime: OMTP is not supported when using cairo
信息裏關鍵詞有:DIRECT2D,WEBRENDER,OMTP:字體
DIRECT2D:微軟開發的2d圖像API,firefox用它來實現硬件加速優化
WEBRENDER:WebRender:讓網頁渲染如絲順滑 - 前端進階者 - SegmentFault 思否(當前N卡獨佔)。firefox
OMTP: Off-Main-Thread Painting – Mozilla Gfx Team Blog ,按照含義應該是叫 脫離主線程繪畫。簡單地說就是將主線程的繪圖命令打包,批量發送給繪畫線程進行繪製。線程
因此在通過上面對 gfx.content.azure.backends 的修改後,瀏覽器優先使用了cairo去進行繪製,可是cairo剛好又不支持OMTP,並且硬件加速也被咱們關閉了,瀏覽器的渲染速度天然慢下來了3d
彷佛 良好的字體渲染效果 和 瀏覽器的渲染速度 必須取捨一個。其實,firefox自帶字體渲染的配置,經過調整徹底能夠作到與mactype媲美的字體渲染。(我全都要...)日誌
首先是恢復 gfx.content.azure.backends 和 gfx.direct2d.disabled 的默認設置,讓瀏覽器使用硬件加速和OMTP。
其次,停掉Mactype對firefox的渲染。
來源:all.js - DXR
參數 | 取值範圍 | 描述 |
---|---|---|
gfx.font_rendering.cleartype_params.gamma | [1000,2200] | 伽馬值 |
gfx.font_rendering.cleartype_params.enhanced_contrast | [0,1000] | 對比度 |
gfx.font_rendering.cleartype_params.cleartype_level | [0,100] | Cleartype等級 |
gfx.font_rendering.cleartype_params.pixel_structure | 0 = flat; 1 = RGB; 2 = BGR; | 像素結構 |
gfx.font_rendering.cleartype_params.rendering_mode | [0,5] | 渲染模式 |
rendering_mode的取值解釋
個人參數
gfx.font_rendering.cleartype_params.cleartype_level;100 gfx.font_rendering.cleartype_params.enhanced_contrast;200 gfx.font_rendering.cleartype_params.gamma;2000 gfx.font_rendering.cleartype_params.pixel_structure;1 gfx.font_rendering.cleartype_params.rendering_mode;5
附 未調整的firefox、Mactype渲染的firefox、調整後的firefox 對比:
未調整:
Mactype:
調整後:
若是你剛好在使用Mactype+Firefox,那麼你可能並無體驗到新版本Firefox帶來的速度提高
建議你關掉Mactype(或者停用Mactype對Firefox的調整),按照上面的方法打開硬件加速,調整字體配置,從新打開Firefox,感覺先後的渲染速度變化。