![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Есть примерно такая конструкция:
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();}
}
Все это безобразие должно шустро анимироваться. Если поставить low quality и отключить масшабирование, то рисуется довольно шустро, fps много не бывает, но анимация идет нормально, можно сказать плавно. Пока идет отрисовка, то загрузка CPU под 100%, как отрисовка закончилась - 0%. Но стоит только провести курсором над этим спрайтом, так загрузка опять под 50-100%! Никаких событий от спрайта не слушаю. CacheAsBitmap включал. Выкидывал вообще все Listener - не помогло. Вопрос: как решить проблему в загрузкой CPU? А то хотелось бы слушать события мышки от самой сцены (клики, движения по всему экрану, координаты сам обработаю), но из-за тормозов сцена практически неуправляема, события если и приходят, то с большим опозданием. |
|
|||||
|
если полигоны внутри спрайта движутся то CacheAsBitmap только ухудшит ситуацию.
проц загружается в основном при обработке графики, так что если у тебя много альфа каналов или много движущихся объектов - проц загружается просто ацки. 5000 объектов вообще жесть! если не секрет это ты куда столько собрался использовать? а на счёт мышки - тут проц загружает не листенер флешки как ты подумал а Операционка. она ж тоже должна обрабатывать потоки от железки преобразовывать в координаты считать что куда да как и т.д. )
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
mouseEnabled & mouseChildren?
|
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
> если полигоны внутри спрайта движутся то CacheAsBitmap только ухудшит ситуацию.
А можно двигать полигоны? Как? Я просто при отрисовке нового кадра clear() делаю. Как бы нарисовал, а потом стер. Да и не думаю, что будет легче, ведь все вершины пересчитываются. Попробую отключить кеширование. Хотя там в любом случае рисуется через двойную буфферизацию ![]() > проц загружается в основном при обработке графики, так что если у тебя много альфа каналов или много движущихся объектов - проц загружается просто ацки. Альфа не используется, все непрозрачно (разве что антиалиасинг на окантовке) В момент движения мыши отрисовка уже не идет. > а Операционка. она ж тоже должна обрабатывать потоки от железки преобразовывать в координаты считать что куда да как и т.д. ) Обычно ей хватает на это менее 1% > mouseEnabled & mouseChildren? Попробую отлючить, спасибо. А получению событий от самой сцены не повредит? Мне глобально события ловить охота. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Глобально и от сцены чем-то отличается?
![]() |
|
|||||
|
покажи хоть что рисуешь... может вообще там подход изначально неправильный.
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
[+4 05.12.07]
[+1 11.01.08] Регистрация: Nov 2007
Сообщений: 51
|
У меня подобная проблема.
Мувик, в нем сложная протрейсенная из .png-шек анимация. Достаточно пять таких мувиков на сцене и fps не поднимается выше 14. Как лучше всего делать анимацию, допустим, персонажа игры? Потому что трейс изображения слишком уж жирно да и увесисто для анимации персонажей. |
|
|||||
|
стервочка (я мужик)
|
динамически рисовать битмапку каждого кадра, а потом показывать то что надо
|
|
|||||
|
[+4 05.12.07]
[+1 11.01.08] Регистрация: Nov 2007
Сообщений: 51
|
Всмысле каждый кадр cacheAsBitmap? Я пробовал - непомогает.
|
|
|||||
|
стервочка (я мужик)
|
нет. всмысле каждый каждый кадр битмап.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|