2013-04-20 6 views
0

У меня есть расширение chrome, которое состоит из сценария контента, фоновой страницы (непостоянного) и действия браузера. Произвольно, он начинает есть процессор, как это:Расширение Chrome высокой загрузки процессора: как профиль?

enter image description here

Но как найти то, что часть моего расширения коробления процессор? Это сценарий контента, фоновая страница, которая обрабатывает некоторые события или код javascript в действии браузера?

+0

У вас не было никакого кода, но возможно, что вы создали бесконечный цикл рекурсии, например. путем плохого использования API сообщений. –

+0

@RobW Да, это может быть так. У меня есть профилированное расширение, в котором нет центрального процессора и расширения, которые обрабатывают CPU (одна и та же задача выполняется в десятке виртуальных машин, на некоторых из них - расширение hogs CPU, а на некоторых - нет). Единственное отличие - это «chrome.Event.removeListener» с 70% процессором. – grigoryvp

ответ

2

Скрипты содержимого выполняются в процессе вкладки. Фоновые страницы, действия браузера/всплывающие окна действий и другие страницы расширения работают в процессе расширения.

Скорее всего, ваша фоновая страница потребляет много CPU (если процесс по-прежнему запускает CPU после закрытия всплывающего окна). Чтобы найти причину, open the developer tools for the background page, и начните profiling (см. CPU profiling).

+0

Большое спасибо. Могу ли я задать еще несколько вопросов о правильном профилировании, прежде чем принимать ваш ответ? :) – grigoryvp

+0

@ EyeofHell Функция профилирования центрального процессора довольно проста, поэтому я думаю, что вы справитесь с этим после прочтения документации (в основном, фотографий с несколькими строками объяснения). Если вы застряли, не стесняйтесь задавать следующий вопрос. –

+1

Еще раз спасибо. Я исправлю, что для профилирования «фоновой страницы» мне нужно выбрать «Инструменты» -> «Расширения», щелкнуть «создать фоновый рисунок» и использовать вкладку «Профили»? – grigoryvp

Смежные вопросы