2

我正在尝试为我的应用程序测量客户端性能——特别是帧速率/滚动延迟。我想知道是否有人找到了一种以编程方式捕获此类数据的好方法?我正在尝试比较随时间/变化的性能...... iow,给定的变化是否使滚动更顺畅?

到目前为止,我一直在做以下事情:
+开始“时间线”录制(使用开发工具的“时间线”功能/视图)
+运行一个以固定速率向下滚动的简单 js 例程
+查看/导出/分析 Chrome 的时间线数据

上述的缺点是使用 javascript 滚动页面的行为引入了它自己的性能成本,并且最终我从时间轴获得的数据是......非常彻底。理想情况下,我将能够获得某种汇总数据 - 例如:平均值、中位数、第 95 pct 帧长度/持续时间和最长帧。

有人对这种类型的事情有任何提示吗?

4

1 回答 1

1

您可以通过在 DevTools 窗口上打开 DevTools 窗口(“DevTools-On-DevTools”)以编程方式提取 FPS 数据,然后在控制台中运行命令以从 DevTools 模型中提取数据。这在这里介绍:

https://stackoverflow.com/a/48081289/1669860

查看这个不相关的答案以获取有关“DevTools-On-DevTools”的更多帮助:

https://stackoverflow.com/a/48198185/1669860

您也可以使用 Puppeteer 来实现这一点:

https://github.com/GoogleChrome/puppeteer

于 2018-01-31T20:54:37.533 回答