Какво прави Chrome JavaScript CPU профильорът, което може да повлияе на производителността на програмата (по време на профила)?

Наскоро успях да въведа бъг в моя скрипт, който кара кадровата честота на физиката да спада от 100 кадъра в секунда на 10 кадъра в секунда от време на време (това е приложение от тип физична симулация).

Опитвам се да намеря причината от доста време и се натъкнах на странно явление: Когато честотата на кадрите падне до 10 кадъра в секунда, ако стартирам CPU Profiler на Chrome, тя скача обратно до 100 кадъра в секунда и остава там дори след като спрете профайлъра.

Така че си играх с профайлъра и изглежда, че деактивира условните точки на прекъсване, докато работи - което ускорява производителността. След като се уверих, че премахнах всички точки на прекъсване, изчистих кеша си и рестартирах процеса на chrome, сигурен съм, че точките на прекъсване нямат нищо общо с това.

И така, това, което бих искал да знам, е: Прави ли Chrome нещо друго, което би могло да повлияе (особено увеличава) ефективността на приложението ми, докато профилиращият работи?

Искам да запазя този въпрос общ, така че да може да помогне на хора, които имат подобни, но не идентични проблеми, но трябва да отбележа, че изпълнявам физиката си в уебработна нишка и тази работна нишка е тази, която изпитва странната скорост на кадрите въпроси.

Благодаря!

РЕДАКТИРАНЕ: Почти съм сигурен, че това има нещо общо с комуникацията между нишките, но не съм съвсем сигурен.


person Community    schedule 29.08.2015    source източник
comment
Защо не изпратите това обратно на Chrome?   -  person Liam    schedule 02.10.2015
comment
Защото все още не съм сигурен дали това е просто нещо, което правя погрешно   -  person    schedule 02.10.2015
comment
Увеличава ли се използването на паметта, когато скоростта на кадрите спадне? Можех да видя профил, който умишлено се уверява, че паметта е изчистена. Можех също да видя комуникация между нишките, внасяща теч.   -  person freak3dot    schedule 21.10.2015
comment
@Liam добро решение. За грешки от разработчици crbug.com е най-доброто място за докладване.   -  person Paul Irish    schedule 26.10.2015
comment
@joerocc може ли да подадете проблем? Бихме искали да се потопим.   -  person Paul Irish    schedule 26.10.2015


Отговори (1)


Забелязахме значително влошаване на производителността, когато DevTools са отворени. Проблемът се появи преди около 2-3 месеца. С отворен DevTools нашите QUnit тестове започват много бавно. Страницата просто увисна за няколко секунди, преди тестовете да започнат. Имаме доста голямо приложение с около 10Mb JavaScript и зависимости. Предполагам, че може би сте се сблъсквали с подобен проблем.

Ето списък с активни проблеми с Chromium (това е база с отворен код за браузъра Chrome): https://code.google.com/p/chromium/issues/list При търсене на „производителност на инструментите за разработка“ ми дава няколко екрана с проблеми.

person Ivan Nikitin    schedule 26.10.2015