我试图了解有关 Chrome 开发工具中时间线的一些事情。来自文档 https://developer.chrome.com/devtools/docs/timeline#about-clear-or-light-gray-frames,我认为灰色和透明条分别是“DevTools 未检测的活动”和“显示刷新周期之间的空闲时间”。
我有一个可以渲染每帧更新的应用程序(requestAnimationFrame()
)并有一个典型的时间线轮廓,如下图所示:
不幸的是,对我来说,文档并没有明确说明如何评估应用程序中的灰色和白色空间。我的问题是:
“空闲”清除条是否总是填充渲染之间的时间?
换句话说,关于白条,我看到的轮廓是否符合预期?我很想这么认为,但文档中的示例屏幕截图如下所示:
显然有一些帧的空白没有填充渲染之间的空间。
时间线配置文件与收集配置文件的计算机上的 CPU 利用率之间是否存在粗略关系?
在下面的配置文件中,大约 40% 的时间是空闲的,那么我是否可以期望这对应于使用约 60% 的核心来执行配置文件中表示的操作?
有什么方法可以描述“未经检测的”灰色条的特征吗?
或者是否有典型的事情(垃圾收集等......)?
希望对于一个问题来说这还不算太多。提前致谢
“空闲”清除条是否总是填充渲染之间的时间?
不会。该空闲时间本质上受 GPU 限制。这是浏览器等待 GPU 执行其操作并返回的地方。这里有波动是完全可以的,只要你能达到 60FPS 左右就可以了。
时间线配置文件与收集配置文件的计算机上的 CPU 利用率之间是否存在粗略关系?
据我所知并非如此。这里的空闲是指浏览器等待系统的其他部分(主要是 CPU 或 GPU)完成其工作的时间。它与它使用多少资源无关。
有什么方法可以描述“未经检测的”灰色条的特征吗?
绝对不是,这就是为什么它被称为“Uninstrumented”。这意味着 DevTools 不知道发生了什么。像垃圾收集这样的事情确实会在时间线上标记,因为它知道该任务是什么。该团队正在努力缩小此类材料的范围。追踪所有内容并弄清楚如何将其呈现给 DevTools 是一个缓慢的过程,因此我们将有相当长一段时间没有工具化的时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)