如何修复火狐浏览器字体显示发虚或模糊的硬件加速问题?
火狐浏览器开启硬件加速后,网页字体突然变细、发虚、边缘泛灰,原本通过CSS设置的抗锯齿效果全部失效——这事儿其实不复杂,根源在于WebRender渲染引擎接管后彻底绕过了传统字体平滑控制路径。要恢复清晰度,必须切换到系统级渲染策略,具体来说就是禁用WebRender的子像素渲染,把默认中文字体设成微软雅黑,再补上几条关键的CSS指令。

先说个前提:得先确认硬件加速是否真的生效。要是还没打开,后面所有操作都白搭。
确认当前是否已启用WebRender渲染
在地址栏输入about:support并回车,往下翻到“图形”区域,看“合成器”那一行。如果显示的是
【WebRender】
强制禁用WebRender子像素渲染干预
接着,地址栏输入about:config并回车,点“接受风险并继续”。搜索框里依次搜这两项,双击改值:
gfx.webrender.subpixel-antialiasing.enabled → 设为false
gfx.font_rendering.cleartype_params.rendering_mode → 设为1
这两步是核心开关——它们直接关闭了WebRender对LCD子像素的主动干预,迫使字体回到系统级灰度渲染路径。不碰这两项,任何CSS声明都救不了模糊。
重设火狐默认中文字体与渲染策略
然后去about:preferences#general,找到“语言和外观”,点“高级”按钮。在字体设置窗口里,把“简体中文”对应的字体从下拉菜单选为
【微软雅黑】
font-weight声明失效,后面CSS的text-rendering才能正常生效。
应用跨平台兼容的CSS渲染指令
最后,在全局样式表开头加一段代码(不用加!important):
body { text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; }
完成之后刷新页面,字体的清晰度和粗细应该就恢复正常了。如果个别页面还有问题,检查一下是不是页面自己的字体设置覆盖了全局规则——不过大部分情况,这套组合拳已经够用了。