Javascript Chrome web检查器:CPU档案器

Javascript Chrome web检查器:CPU档案器,javascript,google-chrome,web-inspector,Javascript,Google Chrome,Web Inspector,我的程序加载大约需要20秒(很多svg对象)。我正在尝试使用chrome web inspector进行配置。它显示总共19.16秒,但故障并不完全累加。我尝试了自下而上、自上而下和以不同的组合进行排序。仍然无法识别瓶颈。我可以在几毫秒内看到从服务器接收到的数据,但渲染它需要很长时间 同样在%ge视图中,总数为98%,但其余的分别不到0.05%,似乎不正确 在上一篇文章中,我问过如何显示“通话”和“平均”。我怀疑递归调用可能会导致这种情况,但同时总时间应该反映出这一点 如何识别导致此延迟的功能

我的程序加载大约需要20秒(很多svg对象)。我正在尝试使用chrome web inspector进行配置。它显示总共19.16秒,但故障并不完全累加。我尝试了自下而上、自上而下和以不同的组合进行排序。仍然无法识别瓶颈。我可以在几毫秒内看到从服务器接收到的数据,但渲染它需要很长时间

同样在%ge视图中,总数为98%,但其余的分别不到0.05%,似乎不正确

在上一篇文章中,我问过如何显示“通话”和“平均”。我怀疑递归调用可能会导致这种情况,但同时总时间应该反映出这一点


如何识别导致此延迟的功能。非常感谢您的帮助。

您可以使用此功能记录通话时间差:

var timeVal = new Date().getTime();
var log = function(name){
    var str = new Date().toLocaleTimeString();
    var newTime = new Date().getTime();
    str += " (" + (newTime - timeVal) + "ms)";
    timeVal = newTime;
    console.log(str, name)
}
像这样使用它:

log("prepare for something")
// do something
log("something happened");
输出:

16:57:46 (2496ms) prepare for something
16:57:46 (130ms) something happened

(程序)的cpu使用率可能相当于Windows中的系统空闲进程,这意味着实际上没有使用cpu时间。我认为你是对的。但是,我仍然无法确定是哪个函数导致了延迟。我刚刚尝试了firefox/firebug,它显示了调用次数。一旦发现问题,将更新帖子。我希望我也能看到chrome inspector的电话。