在我的Angular应用程序中,引入了更多的ngxs用法后,我发现我的应用程序运行很慢打开检查器时,但是在运行探查器时不是< / strong>。
这使得很难弄清是怎么回事,但是使用旧的conosle.profile
方法(在Chrome的旧探查器中添加了一个条目),我将其范围缩小了一些-但我现在根本没有比我更了解-只是更加困惑。
所以这是希望这里的人可以帮助我!
我有一些要分享的屏幕快照,但不幸的是,没有其他内容。
首先是个人资料图表的屏幕截图:
如您所见,有很长一段时间,显然什么也没有发生。请注意,在控制台中,底部方法(startObserving
)仅需要0.12毫秒(根据console.time
)
沿着树走几步,我们发现Handsontable
-这是函数的样子,以及一些相关的计时:
function Handsontable(rootElement, userSettings) {
console.time('Handsontable total time');
console.time('Handsontable create instance');
var instance = new _core2.default(rootElement, userSettings || {}, _rootInstance.rootInstanceSymbol);
console.timeEnd('Handsontable create instance');
console.time('Handsontable init instance');
instance.init();
console.timeEnd('Handsontable init instance');
console.timeEnd('Handsontable total time');
return instance;
}
// Timer outputs:
// This looks OK
Handsontable create instance: 10.864990234375ms
// Also this
Handsontable init instance: 1462.807861328125ms
// Wow, what??
Handsontable total time: 52664.875ms
看起来Handsontable
构造函数/函数中调用的2个方法的总运行时间为<1500ms,但总执行时间超过52 秒。
在空闲时间的大约50秒内,世界上会发生什么?
真的欢迎任何帮助,提示,建议,以帮助更好地进行调试!
注意:在Firefox中,这不是问题。我也尝试过Chromium 67、68和69-同样的问题。在所有平台上的Chrome中都是一个问题(已在Windows 10,Ubuntu 16,17和MacOS Latest-1(最新)中进行测试)