Скрипт грузит CPU на 100%
Доброго времени суток,
Есть онлайновый графический редактор (в разработке), он использует пару сторонних библиотек, одну из них для рисования. http://popov654.pp.ru/qreal/qRealWeb Почему-то в произвольный момент времени (даже если не создавать ни одного объекта, даже если работать с другой вкладкой или с другой программой) ноутбук начинает вовсю шуметь кулером, а двухъядерный проц загружается на 50 процентов. Весь ресурс потребляется процессом браузера. Стоит закрыть/перезагрузить вкладку с редактором, как всё приходит в норму. Но при этом, естественно, теряется всё, что нарисовали (если вообще что-то нарисовали). Я так понимаю, если бы проблема была в моём коде, то браузер бы сообщил о медленно работающем сценарии (по крайней мере, Google Chrome так делает). Кроме того, отладочная печать показывает, что никакие методы в состоянии простоя не исполняются. Этого и следовало ожидать, ведь у меня все функции повешены на события. Но когда мы работаем на другой вкладке или в другом браузере, никаких событий на странице происходить не может! Вопрос: почему это происходит и как с этим бороться? |
Всё, решил вопрос. Сорри, если отнял у кого-то время. У меня вместо setTimeout() для показа заставки стояло setInterval() с интервалом в 2000 миллисекунд. А внутри была функция, которая с интервалом в 30 мс уменьшала значение переменной, отвечающей за прозрачность. Там геометрическая прогрессия получалась, ведь каждый новый вызов функции раз в две секунды запускал новый экземпляр таймера с интервалом в 30 мс, а старый отчего-то не сбрасывался (проверка на равенство нулю давала отрицательный результат, пришлось заменить на <=).
|
Столкнулся с такой же проблемой http://chernigovskop.org.ua/
Причина в счетчиках. Пока их на странице было мало - проблемы не замечал. Сейчас их 6 шт. и загрузка процессора становится значительной. Скрипт счетчиков взял здесь http://www.littlewebthings.com/projects/countdown/. Смиренно прошу помощи сообщества. |
romeus,
какой помощи? Снимите счётчики. |
Часовой пояс GMT +3, время: 01:38. |