Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.02.2009, 03:47
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 1  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
По умолчанию Быстрый рендеринг большого количества движущихся объектов

Тему назвал плохо, но не пришло в голову название лучше. Делаю флешку, в ней по экрану будет летать порядка 80-ти шариков, отталкивающихся от краев флешки.

У каждого шарика есть свойство speed:Point, определяющее его вектор скорости.

За отрисовку отвечает класс Renderer, который проходится по массиву с шариками по ENTER_FRAME, перемещает их в соответствии со скоростью и меняет направление вектора движения при столкновении со стенами.

Проблема в том, что уже при 30-ти шариках флешка очень сильно нагружает процессор (макбук так заурчал кулером, что я боялся, как бы он со стола не улетел).

Код показал бы, но сейчас нет к нему доступа. Но там не сложнее того, что я рассказал выше.

Значение FPS установлено в 31. cacheAsBitmap у шариков стоит на всякий случай.

Подскажите, пожалуйста, как можно преодолеть такую чудовищную нагрузку на процессор.
__________________
Дело не в тебе

Старый 26.02.2009, 03:58
VVall вне форума Посмотреть профиль Отправить личное сообщение для VVall Найти все сообщения от VVall
  № 2  
Ответить с цитированием
VVall

Регистрация: Feb 2009
Сообщений: 1,195
Эта и другие статьи на том же сайте могут помочь: http://www.8bitrocket.com/newsdispla...?newspage=7496

Старый 26.02.2009, 13:15
Ictus вне форума Посмотреть профиль Отправить личное сообщение для Ictus Найти все сообщения от Ictus
  № 3  
Ответить с цитированием
Ictus

Регистрация: May 2008
Сообщений: 9
блин, буков много, не все осилил, на сколько я понял там изобрели новый метод рендеринга но увеличения производительности он не дал, сильно
короче нада рисовать все в одину битмапдату с помощью copyPixels

Старый 27.02.2009, 18:39
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 4  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Там нечему тормозить.
Сделал тест с сотней
Используется cahceAsBitmap, поэтому зависимости от сложности графики быть не должно.
Вложения
Тип файла: zip TestBalls.zip (1.3 Кб, 91 просмотров)

Старый 04.03.2009, 02:44
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 5  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Это я ступил, кстати. У меня объекты еще вращались вокруг своей оси со случайной скоростью (шарики просто с текстурой). Убрал вращеие - стало работать быстро... но некрасиво. Я так понимаю, нужно свой рендерер писать на основе copyPixels и предварительного кеширования спрайтов под разными углами =\
__________________
Дело не в тебе

Старый 04.03.2009, 03:48
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 6  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
AL.exe, можно тупо убрать cacheAsBitmap, установленный на всякий случай, и флэш перестанет каждый кадр заниматься кэшированием ваших шариков.

Старый 04.03.2009, 03:49
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 7  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Установлен он был на всякий случай после того, как обнаружилось, что идет такая нагрузка. Поставить или убрать - разницы никакой.
__________________
Дело не в тебе

Старый 04.03.2009, 11:04
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 8  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
кхм ... странно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.