Javascript Chrome зернистость профиля - Go глубже - PullRequest
1 голос
/ 11 февраля 2020

В настоящее время я отлаживаю приложение на основе Angular (JS). У меня некоторая проблема со скоростью во время выполнения (на стороне клиента) и я хочу проанализировать, почему.

Я использую Профилировщик Devtool из Chrome. Я вижу, что некоторые события (т.е. нажатие клавиш, размытие) заняли много времени (см. Скриншот ниже).

enter image description here

Теперь я хотел бы go глубже и узнать, какой исходный код содержит эти прослушиватели событий и заставить мое приложение так замедляться.

Для информации, приложение работает очень медленно, когда я пишу текст на вводе, и когда я фокусируюсь / размываю от ввода; Я знаю, что некоторые наблюдатели могут вызвать замедление, но я не уверен.

Надеюсь, мне поможет более глубокий анализ профилировщика!

--- Редактировать 25 фев 2020 - -

Я думаю, что моя проблема связана с циклом дайджеста (apply / digest, et c). Я нашел этот плагин: digest-hud . После нескольких попыток кажется, что привязка (которая используется во многих компонентах), называемая «источником», забирает весь ресурс дайджеста:

enter image description here

1 Ответ

0 голосов
/ 10 апреля 2020

Дайджест-худ был действительно полезен. Я не могу найти способ точно узнать, как найти начальные вызовы ha функции в стеке вызовов. Как сказал Кресимир Пенди c, возможно, проблема с картой.

Но я нашел много привязок / наблюдателей с source, и один из них назывался при каждом событии фокусировки / размытия / опрокидывания. Поэтому я удалил его, нашел другой способ сигнализировать об изменениях на входе, и он работает.

Так что не стесняйтесь проверять с помощью Digest-hud (заявление об отказе, я никак не выпущен с Digest-hud разработчик (и)), если у вас возникли проблемы с производительностью приложения AngularJS, оно даст вам несколько способов решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...