Chrome浏览器在浏览我的网页时会出现巨大的延迟。我正在使用DevTools Performance 标签来尝试找到我认为是JavaScript代码中某个地方的罪魁祸首。
下面的屏幕截图显示了使用DevTools记录的配置文件。对于配置文件中显示的一些“任务”,我可以看到任务正在做什么的细节(例如,8700毫秒和9200毫秒之间的任务是GC),但对于其他任务,没有任何细节,就像我在屏幕截图中突出显示的两个任务。我如何判断这些任务正在做什么?
Chrome浏览器在浏览我的网页时会出现巨大的延迟。我正在使用DevTools Performance 标签来尝试找到我认为是JavaScript代码中某个地方的罪魁祸首。
下面的屏幕截图显示了使用DevTools记录的配置文件。对于配置文件中显示的一些“任务”,我可以看到任务正在做什么的细节(例如,8700毫秒和9200毫秒之间的任务是GC),但对于其他任务,没有任何细节,就像我在屏幕截图中突出显示的两个任务。我如何判断这些任务正在做什么?
2条答案
按热度按时间5uzkadbs1#
您可以使用JavaScript的性能观察器来了解Web应用程序中的性能瓶颈问题。
精确代码-
更多详情here
n3ipq98p2#
我遇到了一个类似的问题,我有一个长的,不透明的“任务”,需要几秒钟,没有进一步的信息,在开发工具。
一个Chrome开发人员向我推荐了Perfetto(编辑:或者您可以访问chrome://tracing中的内置类似工具)。Perfetto可以让您记录Chrome内部的痕迹。在我的案例中,我怀疑这与GPU有关,所以我启用了所有的gpu* 开关:
并开始跟踪。在我在另一个选项卡中重现该问题后,我返回到Perfetto跟踪。我发现这些“ThreadControllerImpl::RunTask”切片似乎与神秘系统任务的持续时间有关。
有益的Perfetto有一个箭头,从那个任务到另一组“切片”。
而每一个都被归类为“WebAudio”。从中我了解到我对AudioContext的使用很可能是罪魁祸首,事实上,如果我禁用页面上的所有音频,问题就会消失。
x1c4d 1x指令集
希望这个例子对其他试图解决Chrome中不透明的“系统任务”问题的人有所说明。