(编辑:不正确,但留给后代。)text-rendering: optimizeLegibility
是default for most modern browsers。
但是,从text-rendering: optimizeSpeed
获得了considerable performance收益。
当前,我内联了折叠/关键样式,并使用rel=preload异步推迟了折叠以下样式。
我的问题是,最初使用我的关键样式使用text-rendering: optimizeSpeed
,然后在我的延迟/异步样式表中切换到text-rendering: optimizeLegibility
是有效的*还是值得**? / p>
*有效性定义为按您期望的方式工作。最初使用“优化速度”,然后当异步加载延迟的样式表时,使用“优化可读性”。
**值得将其定义为与在SS中切换样式的(简单)过程成比例的任何微不足道的性能提升。
答案 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 有效吗?从技术上讲,但第一部分是多余的。这值得么?不仅不值得,而且还有性能和未解决的错误问题。