宣布 MotionMark 1.3
我们很高兴地宣布 MotionMark(Apple 针对网络浏览器的图形基准测试)更新至 1.3 版本。这是一个次要更新,旨在改进基准测试在更广泛的硬件设备上的行为,并提高分数的可靠性。

最显著的行为变化是,基准测试现在会适应浏览器的刷新率,自动检测 requestAnimationFrame
回调的频率,并使用结果设置目标帧率。以前,它假设目标是每秒 60 帧;如果浏览器以不同的频率调用 requestAnimationFrame
,结果将是无效的。
有了这项更改,在非 60Hz 显示器的设备上比较浏览器之间的基准测试分数需要谨慎;选择以 120Hz 运行 requestAnimationFrame
的浏览器每帧完成工作的时间更少,因此它将返回较低的分数。我们建议在此类比较中将显示刷新率设置为 60Hz,如“关于”页面所述。
对各种子测试进行了微小更改以提高可靠性。Multiply 子测试的最大复杂度增加了,因为更新、更快的配置很容易达到上限。Multiply 中隐藏元素的方式进行了更改,以确保只有可见元素对渲染成本做出贡献。Paths 测试进行了调整,以确保更一致的工作负载。最后,Design 子测试进行了更改,以避免文本在阶段边界被剪裁,这会导致分数虚高。
有两项与评分相关的更改。首先,评分以前根据“平坦”配置文件和“斜率”配置文件中哪个方差最低来选择,但“平坦”配置文件通常会产生不准确的分数;因此将其删除。其次,此版本更改了哪些特定帧对分数有贡献。基准测试通过提高场景复杂度并在每个复杂度级别测量一定数量帧的持续时间来工作。在 HTML 和 SVG 子测试中,场景复杂度的变化涉及 DOM 突变,形式是删除元素(因为随着测试的运行,复杂度会降低)。因此有两种类型的帧:“突变”帧和“动画”帧。以前,这两种类型帧的持续时间都用于分数计算。然而,“突变”帧通常需要更长时间,因为 DOM 突变通常比仅动画现有元素更昂贵,这会增加结果的噪声。由于 MotionMark 旨在成为动画基准测试,因此只有“动画”帧对分数有贡献是合理的。
MotionMark 开发现已在 GitHub 上进行;我们欢迎您的参与。