Просмотр полной версии : lineTo и setInterval вешается процессор
Уважаемы знатоки, подскажите! Есть следующий код:
var myclip=createEmptyMovieClip("myclip", 1);
function my(){
with(myclip){
moveTo(0,0)
lineStyle(1, 0xffffff);
lineTo(xx, yy);
moveTo(0,0)
lineStyle(1, 0xff00ff);
lineTo(xx=random(100), yy=random(100))
}
}
setInterval(my,10);
При его выполнении постепенно ресурсы процессора забиваются на 100%. Почему так происходит? что здесь не логично?
Как сделат ьподобную вещь но чтобы процессор не вешался?
FourSide
12.02.2007, 13:25
Сделал пустой документ, вставил туда этот код - работает, память загружена на 0-3% (P-3000, RAM 512 MB). Сколько ни смотрел - память более не загружается, файл подкачки не используется.
Усложнил - добавил еще один ключевой кадр, в котором нет этого кода (в первом кадре с кодом нет stop()). И тут началось - до 47% за 3-4 минуты дошло, мне потом надоело :)
В общем, нужно смотреть на каком компе тестируется и какой код/структура остального мува. У меня приведенный код в нормальном своём виде ничего не вешает.
Забивается не память, а процессор. Умнея за 3 секунды на 100%
забит. Celeron 2000 Ram 512. Мне кажется тут не важно какой комп. что-то в логике не верно.
Код этот сам по себе. Больше ничего во флэшке нет.
Lexandr, приведите свой пост в надлежащий вид.
у меня тоже не вешает но
setInterval(my,10);
это слишком часто
50 еще куда не шло
.setInterval(my,50);. Ничего не меняется, только чуть дольше забивается процессор. Загрузку ЦП смотрню по диспетчеру задач.
Потому что количество векторных элементов превышает все допустимые пределы. Нужно удалять все clear().
Спасибо. Всё работает как часы. Не знал о существовании clear(). Тема закрыта.
Темы закрывают модераторы.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.