为什么启用Paint Flashing会大幅提高帧速率?

时间:2016-08-12 00:56:38

标签: javascript google-chrome google-chrome-devtools

This is the code in question.但是,我可以在大多数网站页面上展示相同的效果,此页面就是其中之一。

使用谷歌浏览器内置的FPS测量仪测量帧速率时,帧速率介于15和35之间。但是,当一个启用“绘制闪烁”时,帧率为(几乎)稳定的60fps。

我正在使用User Timing API来测量运行动画javascript所需的时间,并且在启用或不启用Paint Flashing的情况下运行之间似乎没有明显区别。

我使用Google Chrome测试版测试版52.0.2743.41测试版(64位,Arch Linux)和版本52.0.2743.116 m(64位,Windows 10)进行了测试,结果一致。

所以,我有两个问题:

  1. 为什么会这样?
  2. 如果这会提高页面的性能,为什么在chrome的正常渲染过程中不会出现这种情况?
  3. 图片:

    没有油漆闪烁:

    without paint flashing

    使用Paint Flashing:

    with paint flashing

1 个答案:

答案 0 :(得分:1)

此问题已经存在一年多了,and has been marked "WontFix".根据设计,合成器中的FPS计在接收系统中的所有其他工作之前,包括油漆闪光。铬的开发人员需要转向基于RAF的FPS或其他形式的FPS计数,才能避免出现此问题。