Specs 性能评估模型 RAIL

阅读(4552)

RAIL 是 Google 提出的以用户为中心的性能模型(A User-Centric Model For Performance),一切以用户体验愉悦为核心。

RAIL stands for:

  • Response : 100ms内响应用户操作
  • Animation : 10ms内生成动画的一帧
  • Idle : 最大程度增加主线程的空闲时间
  • Load : 1000ms内呈现内容

100ms 响应用户操作

100ms 是进行开销大运算的衡量点,如果无法满足,考虑Web Worker来后台运行。Web Worker 是运行在主线程以外的另外线程。

超过500ms才能完成的操作,提供视觉或其他可感知的反馈给用户。

10ms 生成动画的一帧

流畅的动画是每秒60帧,换算到每帧 1000ms/60≈16.67ms,除去绘制时间,留给动画生成的时间只有10ms。

最大程度增加主线程的空闲时间

保持主线程的空闲,以备尽快响应用户可能发生的交互。

这是一种综合型的表述,和其他几点交叉。

1000ms 呈现内容

优化关键渲染路径,达到1s 内加载页面主要内容并做呈现,对非关键内容采取渐进式渲染。

以上只是概述,实际涉及许多细节。

Refer:
https://developers.google.com/web/fundamentals/performance/rail