![]() |
Программное рисование сильно затормаживает скорость ролика
В цикле рисую на экране N квадратиков. Перед рисованием расчитываю несколько параметров каждого квадратика: цвет, координаты, размеры, альфу и тп, затем выполняю такой код:
Код:
layer.clear();Так вот, чем больше N тем заметнее тормозит вывод изображения, при N = 30 на моем п3 1,3 ролик отображается со скоростью примерно 5 кадров в секунду... Если из программы убрать выше приведенный код, но оставить расчет параметров квадратиков, то скорость ролика заметно увеличится, отсюда я могу сделать вывод, что тормозит именно программная отрисовка. Пробовал вместо программной отрисовки сделать один мувиклип с нарисованным в нем квадратиком, а затем с помощью attachMovie продублировать его N раз, но опять же при N = 30 скорость очччень сильно падает... Что посоветуете? Как нарисовать на экране несколько десятков примитивных объектов, да так, чтобы скорость отрисовки была приличной? |
Цитата:
И вообще апгрейд компа решает. я лично адаптирую свой флеш под П4 1.7 Но даже этот слабенький комп превратиться в более мощный, через неделю. Но есть вариант делаеш шейп и несколько дорожек, муторно и гиморно но как не странно помогает. |
Цитата:
Код:
for(i = 1; i <= N; i++)Код:
layer.lineStyle(4, color[1], a[1]);Цитата:
Цитата:
|
Цитата:
2 Код для облегчения можеш сделать рекурсией. |
Цитата:
|
Нет-нет, ни в коем случае не разварачивай цикл в линию, это глупость, бытрее от этого не станет.
Попробуй оптимизировать, посмотри, может чем рисовать каждый квадратик можно сделать заготовку - квадратик и потом ее продублировать сколько надо раз, поменять им цвета задать положение и тд, и не бездумно каждую итерацию все стирать и заново рисовать, а продумать чтобы добавлять или стирать квадратики по одному/несколько по мере необходимости? |
Цитата:
Машина очень слабая. |
А зачем тебе такие быстрые изменения - 50 раз в секунду? потом зачем каждый раз рисовать квадрат? не легче ли менять размеры у отрисованного мува (в котором ты один раз рисуешь квадрат), а цвет через объект Color можно менять.
потом если работаешь под 8 плеер, то можно заменить векторное рисование квадратов на использование класса BitmapData |
Цитата:
Цитата:
Цитата:
|
Дурдом, слепили один раз мув нарисовали всё что нужно, а дальше меням координаты или что там нужно у самого мувика и ничего перерисовывать не нужно
|
| Часовой пояс GMT +4, время: 12:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.