Что делает профилировщик процессора Chrome JavaScript, который может повлиять на производительность программы (во время профиля)?

Недавно мне удалось ввести ошибку в мой script, из-за чего частота кадров физики снижалась от 100 кПа до 10 кадров в секунду (это приложение типа физического моделирования).

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

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

Так что я хотел бы знать: Делает ли хром что-нибудь еще, что может повлиять (особенно увеличивая) производительность моего приложения во время работы профайлера?

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

Спасибо!

РЕДАКТИРОВАТЬ: Я уверен, что это имеет какое-то отношение к обмену данными между потоками, но не слишком уверенно.

Ответ 1

Мы заметили значительное снижение производительности при открытии DevTools. Проблема появилась около 2-3 месяцев назад. С DevTools наши тесты QUnit начинаются очень медленно. Страница просто повешена в течение нескольких секунд, прежде чем тесты начнут идти. У нас довольно большое приложение с 10 Мб JavaScript и зависимостей. Я полагаю, что вы столкнулись с аналогичной проблемой.

Вот список активных проблем Chromium (это база с открытым исходным кодом для браузера Chrome): https://code.google.com/p/chromium/issues/list Поиск "devtools performance" дает мне несколько экранов.