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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.01.2008, 10:46
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 1  
Ответить с цитированием
LinuxVideo
Banned
[+4 11.12.07]
[+4 18.03.08]

Регистрация: Oct 2007
Сообщений: 269
По умолчанию Sprite с 5000 полигонами: тормоза при наведении курсора

Есть примерно такая конструкция:
Код:
ss=new Sprite();
sss=ss.graphics;

...

white(counter<5000){
xx=somedata();
yy=somedata();

if (...)(sss.beginFill();}

sss.moveTo(xx,yy);
sss.lineTo(xx,yy);

if (...)(sss.endFill();}

}
Т.е. программно создается спрайт, а потом в него запихивается примерно 5000 погигонов (отдельных фигур с заливкой), есть немного линий и кривых. Все в 2D.
Все это безобразие должно шустро анимироваться.
Если поставить low quality и отключить масшабирование, то рисуется довольно шустро, fps много не бывает, но анимация идет нормально, можно сказать плавно. Пока идет отрисовка, то загрузка CPU под 100%, как отрисовка закончилась - 0%.

Но стоит только провести курсором над этим спрайтом, так загрузка опять под 50-100%! Никаких событий от спрайта не слушаю. CacheAsBitmap включал. Выкидывал вообще все Listener - не помогло. Вопрос: как решить проблему в загрузкой CPU? А то хотелось бы слушать события мышки от самой сцены (клики, движения по всему экрану, координаты сам обработаю), но из-за тормозов сцена практически неуправляема, события если и приходят, то с большим опозданием.

Старый 25.01.2008, 11:38
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 2  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
если полигоны внутри спрайта движутся то CacheAsBitmap только ухудшит ситуацию.
проц загружается в основном при обработке графики, так что если у тебя много альфа каналов или много движущихся объектов - проц загружается просто ацки.
5000 объектов вообще жесть! если не секрет это ты куда столько собрался использовать?

а на счёт мышки - тут проц загружает не листенер флешки как ты подумал а Операционка. она ж тоже должна обрабатывать потоки от железки преобразовывать в координаты считать что куда да как и т.д. )
__________________
Black DRAGON хочет кушать Т_Т

Старый 25.01.2008, 11:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
mouseEnabled & mouseChildren?

Старый 25.01.2008, 12:27
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 4  
Ответить с цитированием
LinuxVideo
Banned
[+4 11.12.07]
[+4 18.03.08]

Регистрация: Oct 2007
Сообщений: 269
> если полигоны внутри спрайта движутся то CacheAsBitmap только ухудшит ситуацию.

А можно двигать полигоны? Как? Я просто при отрисовке нового кадра clear() делаю. Как бы нарисовал, а потом стер. Да и не думаю, что будет легче, ведь все вершины пересчитываются. Попробую отключить кеширование. Хотя там в любом случае рисуется через двойную буфферизацию


> проц загружается в основном при обработке графики, так что если у тебя много альфа каналов или много движущихся объектов - проц загружается просто ацки.

Альфа не используется, все непрозрачно (разве что антиалиасинг на окантовке)
В момент движения мыши отрисовка уже не идет.


> а Операционка. она ж тоже должна обрабатывать потоки от железки преобразовывать в координаты считать что куда да как и т.д. )

Обычно ей хватает на это менее 1%


> mouseEnabled & mouseChildren?

Попробую отлючить, спасибо. А получению событий от самой сцены не повредит? Мне глобально события ловить охота.

Старый 25.01.2008, 12:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Глобально и от сцены чем-то отличается?

Старый 25.01.2008, 14:26
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 6  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
покажи хоть что рисуешь... может вообще там подход изначально неправильный.
__________________
Black DRAGON хочет кушать Т_Т

Старый 27.01.2008, 00:18
Freeeeeeeman вне форума Посмотреть профиль Отправить личное сообщение для Freeeeeeeman Найти все сообщения от Freeeeeeeman
  № 7  
Ответить с цитированием
Freeeeeeeman
[+4 05.12.07]
[+1 11.01.08]

Регистрация: Nov 2007
Сообщений: 51
У меня подобная проблема.
Мувик, в нем сложная протрейсенная из .png-шек анимация. Достаточно пять таких мувиков на сцене и fps не поднимается выше 14.

Как лучше всего делать анимацию, допустим, персонажа игры?
Потому что трейс изображения слишком уж жирно да и увесисто для анимации персонажей.

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

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

Старый 27.01.2008, 11:31
Freeeeeeeman вне форума Посмотреть профиль Отправить личное сообщение для Freeeeeeeman Найти все сообщения от Freeeeeeeman
  № 9  
Ответить с цитированием
Freeeeeeeman
[+4 05.12.07]
[+1 11.01.08]

Регистрация: Nov 2007
Сообщений: 51
Всмысле каждый кадр cacheAsBitmap? Я пробовал - непомогает.

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

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

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

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

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


 


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


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