Разница между обычным режимом и режимом профилирования производительности в Google Chrome - PullRequest
1 голос
/ 24 мая 2019

Я пытаюсь отладить анимацию JS ( propellerjs ) в приложении Angular 7, которое работает на requestAnimationFrame, но работает очень медленно.

Проблема в том, что я не могу воспроизвестипроблема при попытке записать профиль производительности - приложение там просто отлично работает.

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

Вы можете заметить, что колесо вращается очень медленно в обычном режиме и вращается красиво и быстро, пока я пытаюсь записать его с помощью профилировщика.

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

enter image description here

1 Ответ

2 голосов
/ 25 мая 2019

Существует три режима, относящихся к вопросам:

  1. DevTools закрыты
  2. DevTools открыты, а не запись исполнения
  3. DevTools открыты и запись исполненияrunning.

Режим # 2, как ожидается, будет медленнее, чем # 1, поскольку DevTools добавляет довольно много хуков на беговую страницу для целей отладки.

Однако, когда вы запускаетеВ профилировщике (режим # 3) большинство ловушек временно отключены.

В результате режим # 1 должен быть самым быстрым, # 3 - немного медленнее (из-за профилирования), а # 2 - самым медленным.

В скриншоте я вижу, что вы сравниваете № 2 с № 3.Ожидается, что # 3 быстрее.

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