Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обращение к свойствам Bitmap (http://www.flasher.ru/forum/showthread.php?t=108395)

LinuxVideo 21.02.2008 20:11

> не вижу смысла заморачиваться на этом

Когда время рендеринга около 2200ms, то смысл есть. Тут еще 3D добавил, вообще плохо стало...


> а если картинка повернута/погнута/пофильтрена, то по простому уже не проходит - нужны более ресурсоемкие алгоритмы..

Оно у меня работает быстрее, чем copyPixels из битмапа в битмап... Я уже писал про это. Сам в шоке.

silin 21.02.2008 20:39

ээ..я, собственно, Torero отвечал по поводу что за vector renderer при отрисовке растра..
как принудить не знаю, подозреваю, что плеер это сам решает когда что можно.., да и как принудишь, если это в принципе нереально для искаженной картинки..
copyPixels (метод BitmapData) здесь вовсе не при чем: речь же о внутренних методах, которыми плеер (Bitmap в этом контексте) выводит картинку

MerlinTwi 22.02.2008 11:14

vector renderer подразумевается, что создается Shape, который заливается (beginBitmapFill) картинкой с применением матриц искажения.
ИМХО, т.к. что действительно делает рендер знают лишь в адобе.

Недавно натолкнулся на интересную фичу: если создать мувик, в него положить картинку из библиотеки и сделать трейс
Код:

trace(this.getChildAt(0));
то получаем:
[object Shape]
и только если эту картинку превратить в класс (Linkage: export for ActionScript), то будет уже
[object Bitmap]

etc 22.02.2008 13:18

Ну это как бы не фича, шейпы с заливкой едва ли не с пятой версии идут.

Torero 22.02.2008 16:33

Спасибо за ликбез.))

Ariel 17.04.2011 03:54

Вопрос, на самом деле, очень важный. Тут есть над чем поразмыслить...
Скажем, КАК определить, КАКИМ рендерером в данный момент выводится Битмапа? Просто соблюдать условия, перечисленные в хелпе, недостаточно для уверенного девелопмента. Я хочу знать НАВЕРНЯКА, КАК оно сейчас рисуется. Если, например, используются Float-координаты для передвижения картинки, а не Int, то, в соответствии с хелпом, должен включаться алгоритм векторного рендерера... Как узнать наверняка? Не нужны нам ситуации, когда две ОДИНАКОВЫЕ Битмапы, построенные на ОДИНАКОВЫХ БитмапДатах будут рисоваться разными рендерерами только потому, что одну из них повернули на 1 градус....
Тут конечно очень ценен опыт тов. Etc-a, который, оптимизируя Destiny, наверняка кучу собак съел с этими рендерерами и копипикселями.

alatar 17.04.2011 11:51

Ariel, даже если вы узнаете наверняка, этот "верняк" будет работать для конкретной версии плеера. Рендерер сейчас активно меняется. Хотите контролируемости — используйте bitmap blitting. В определенных ситуациях и при правильном подходе это дает весьма ощутимый прирост в производительности.

Ariel 17.04.2011 20:40

блиттинг годится тильки если рендерить все время надо б0льшую часть стэйджа. Если объектов не море, то он откровенно вреден, так как всегда перерисовывает всю сцену. А если у нас полнобраузерное\полноэкранное приложение? Хотя, Вы говорите, при правильном подходе ...

Пускай "верняк" работает в конкретной версии, но я хочу это реально видеть. А то гадать, откуда тормоза взялись ИМХО не правильно.

alatar 18.04.2011 00:18

Цитата:

блиттинг годится тильки если рендерить все время надо б0льшую часть стэйджа.
Почему вы так решили?

Ariel 18.04.2011 02:21

Отличная ссылка, спасибо! Автор, как и я, юзал полностейджевый блиттинг. Пока не повстречал старую гвардию! Круто, всегда есть куда продвигаться! Опять-таки, есть над чем поразмыслить.
Он даже перевел статью от 8битРокета про Арканоид!
Гражданину Алатару - гранд мерси!


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

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