优化文本渲染的速度,然后通过延迟的样式表异步优化易读性是否有效?

时间:2018-10-10 03:03:24

标签: css performance typography

text-rendering: optimizeLegibilitydefault for most modern browsers(编辑:不正确,但留给后代。)

但是,从text-rendering: optimizeSpeed获得了considerable performance收益。

当前,我内联了折叠/关键样式,并使用rel=preload异步推迟了折叠以下样式。

我的问题是,最初使用我的关键样式使用text-rendering: optimizeSpeed,然后在我的延迟/异步样式表中切换到text-rendering: optimizeLegibility是有效的*还是值得**? / p>

*有效性定义为按您期望的方式工作。最初使用“优化速度”,然后当异步加载延迟的样式表时,使用“优化可读性”。

**值得将其定义为与在SS中切换样式的(简单)过程成比例的任何微不足道的性能提升。

1 个答案:

答案 0 :(得分:1)

好的,我想我已经回答了我自己的问题,所以我在这里留下一些东西供后代:

  • 我的问题核心的答案:毯子应用optimizeLegibility slow ,从 初始渲染时间到重新绘制 < / strong>。因此,我的结论是,即使异步加载也不值得,因为它可能会延迟异步样式表的加载并导致FOIT [1](尤其是应用于长文本字符串时)。

  • 正如BoltClock所指出的,Chrome和Safari默认使用auto,而只有Firefox会以20px的阈值智能切换。而且,尽管 Chrome和Safari将auto视为optimizeSpeed [2]因此,以我的折叠样式声明oS基本上是多余的。

    • 我认为,也许最重要的是,这表明optimizeLegibility并非在没有特殊例外的情况下无法使用,因为Chrome和Safari甚至不愿意使用speed以外的其他方式未指定诸如precision之类的选项。
  • 不仅某些旧版浏览器不提供支持,实际上其他浏览器中也存在一些重大交易漏洞,[2]意味着text-rendering: optimizeLegibility不适合进行逐步增强(至少通过延迟折叠样式来实现PE。

最后,我submitted an issue在caniuse的仓库中纠正了错误的说法,即现代浏览器默认为optimizeLegibility(感谢BoltClock指出了这一点)。

TL; DR 有效吗?从技术上讲,但第一部分是多余的。这值得么?不仅不值得,而且还有性能和未解决的错误问题。