【问题标题】:Differences between Firefox safe mode and fresh profile?Firefox 安全模式和全新配置文件的区别?
【发布时间】:2013-01-07 04:09:25
【问题描述】:

(对不起我的英语不好)

昨天,我在使用具有非常大字体大小(200 像素)的@font-face 时遇到了一个问题:我的一个 div 在 Firefox 和 Chrome 中呈现不同。经过一番研究,我了解到这是由于 Firefox 和 Chrome 计算 line-height 的方式不同,指定 line-height 可以解决我的问题。

但是,令我惊讶的是,即使我什么也没做,当我在安全模式下启动 FF 时,问题就自行解决了! (它呈现类似于 Chrome)所以我想知道那是因为我自定义 FF 太多了?我创建了一个新的配置文件(没有插件,禁用所有插件,将所有设置重置为默认值)但新创建的配置文件与我的旧配置文件一样相同,并且与 FF 不同不同在安全模式下。没看懂?

【问题讨论】:

    标签: firefox browser profile


    【解决方案1】:

    安全模式,除了关闭所有插件外,还会关闭 JIT 和硬件加速渲染。

    如果您在 Windows 上(我假设是根据所描述行为的情况),那么关闭硬件加速渲染也会关闭 DirectWrite 文本渲染并改用 GDI。

    但是 DirectWrite 和 GDI 最终会针对相同的文本使用不同的字体规格:一方面,DirectWrite 可以进行亚像素字形定位,而 GDI 不能。因此,如果您打开安全模式,行高和文本布局的其他各个方面都会发生变化。

    请注意,Chrome 使用 GDI 开始。另一方面,IE 9 和 10 使用 DirectWrite,因此值得测试您的页面在其中的行为方式;我敢打赌,它与非安全模式下的 Firefox 类似。

    【讨论】:

    • 你太棒了!!这是FF上的“可用时使用硬件加速”选项。我会阅读更多关于此的内容。非常感谢!顺便说一句,哪种方式更“标准”? DirectWrite 还是 GDI?
    • 两者都没有。字体光栅化和字体度量在 Web 标准中没有定义,因为有很多不同的字体光栅化系统,即使基于相同的字形数据,也有不同的用途(例如,是否进行亚像素定位,是否抗锯齿) ,抗锯齿是灰度还是亚像素,是否应用了真类型提示,等等)。也就是说,在 Windows 上,操作系统本身在最近的版本中使用 DirectWrite 进行渲染,其他方面也在朝着这个方向发展。
    猜你喜欢
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2019-04-15
    • 2015-05-12
    • 2014-10-01
    相关资源
    最近更新 更多