Показать сообщение отдельно
Старый 05.08.2006, 19:54
alkonaft вне форума Посмотреть профиль Отправить личное сообщение для alkonaft Найти все сообщения от alkonaft
  № 2  
Ответить с цитированием
alkonaft
 
Аватар для alkonaft

Регистрация: Jan 2006
Сообщений: 144
Цитата:
Сообщение от Огнеметчик
В цикле рисую на экране N квадратиков. Перед рисованием расчитываю несколько параметров каждого квадратика: цвет, координаты, размеры, альфу и тп, затем выполняю такой код:
Код:
layer.clear();
for(i = 1; i <= N; i++)
{
layer.lineStyle(4, color[i], a[i]);
layer.moveTo(X[i], Y[i]);
layer.lineTo(X[i] + R[i], Y[i] + R[i]);
layer.lineTo(X[i] - R[i], Y[i] + R[i]);
layer.lineTo(X[i] - R[i], Y[i]);			
}
Координаты каждого квадратика меняются по 50 раз в секунду, и 50 раз в секунду слой (слой - это простой мувиклип) очищается и на нем заново рисуется N квадратиков с новыми координатами.

Так вот, чем больше N тем заметнее тормозит вывод изображения, при N = 30 на моем п3 1,3 ролик отображается со скоростью примерно 5 кадров в секунду... Если из программы убрать выше приведенный код, но оставить расчет параметров квадратиков, то скорость ролика заметно увеличится, отсюда я могу сделать вывод, что тормозит именно программная отрисовка.

Пробовал вместо программной отрисовки сделать один мувиклип с нарисованным в нем квадратиком, а затем с помощью attachMovie продублировать его N раз, но опять же при N = 30 скорость очччень сильно падает...

Что посоветуете? Как нарисовать на экране несколько десятков примитивных объектов, да так, чтобы скорость отрисовки была приличной?
совет прост убей всякие ненужные циклы.
И вообще апгрейд компа решает.
я лично адаптирую свой флеш под П4 1.7
Но даже этот слабенький комп превратиться в более мощный, через неделю.

Но есть вариант делаеш шейп и несколько дорожек, муторно и гиморно но как не странно помогает.
__________________
Что за опен соурс без водки?