Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт грузит CPU на 100% (https://javascript.ru/forum/misc/24980-skript-gruzit-cpu-na-100%25.html)

popov654 21.01.2012 01:27

Скрипт грузит CPU на 100%
 
Доброго времени суток,
Есть онлайновый графический редактор (в разработке), он использует пару сторонних библиотек, одну из них для рисования.

http://popov654.pp.ru/qreal/qRealWeb

Почему-то в произвольный момент времени (даже если не создавать ни одного объекта, даже если работать с другой вкладкой или с другой программой) ноутбук начинает вовсю шуметь кулером, а двухъядерный проц загружается на 50 процентов. Весь ресурс потребляется процессом браузера. Стоит закрыть/перезагрузить вкладку с редактором, как всё приходит в норму. Но при этом, естественно, теряется всё, что нарисовали (если вообще что-то нарисовали).

Я так понимаю, если бы проблема была в моём коде, то браузер бы сообщил о медленно работающем сценарии (по крайней мере, Google Chrome так делает). Кроме того, отладочная печать показывает, что никакие методы в состоянии простоя не исполняются. Этого и следовало ожидать, ведь у меня все функции повешены на события. Но когда мы работаем на другой вкладке или в другом браузере, никаких событий на странице происходить не может!

Вопрос: почему это происходит и как с этим бороться?

popov654 21.01.2012 17:44

Всё, решил вопрос. Сорри, если отнял у кого-то время. У меня вместо setTimeout() для показа заставки стояло setInterval() с интервалом в 2000 миллисекунд. А внутри была функция, которая с интервалом в 30 мс уменьшала значение переменной, отвечающей за прозрачность. Там геометрическая прогрессия получалась, ведь каждый новый вызов функции раз в две секунды запускал новый экземпляр таймера с интервалом в 30 мс, а старый отчего-то не сбрасывался (проверка на равенство нулю давала отрицательный результат, пришлось заменить на <=).

romeus 15.05.2012 03:07

Столкнулся с такой же проблемой http://chernigovskop.org.ua/
Причина в счетчиках. Пока их на странице было мало - проблемы не замечал. Сейчас их 6 шт. и загрузка процессора становится значительной.
Скрипт счетчиков взял здесь http://www.littlewebthings.com/projects/countdown/.
Смиренно прошу помощи сообщества.

Kolyaj 15.05.2012 14:00

romeus,
какой помощи? Снимите счётчики.


Часовой пояс GMT +3, время: 07:02.