Как работает AS3.0 и AVM2 изнутри

July 22, 2008 – 7:04 am

Ребята из dispatchEvent() (Collective thoughts of the New York Flash community) поняли, что флеш-девелоперы “не въезжают” в принципы работы AS3.0 и AVM2. И эту ситуацию они пытаются исправить двумя доками:

Actionscript 3.0 and Performance Tuning

AVM2 Overview

Первая – это 74 слайда (в pdf, подготовленные Gary Grossman’ом из Adobe) которые будут мегаполезными для понимания таких частей AVM2 как garbage collection, преимущества строгого типизирования, Actionscript byte code (abc) формат, code interpreter и JIT compilation. Для всех кто кодит на AS3 это must-read!

Вторая, значительно более “конденсированная”. В ней 108 страниц которые сухо объясняют всю подноготную работы AVM, показывает как AS3.0 команды “переходят” в процессорные инструкции. Короче – дока для настоящих гиков ::)))

Мой вердикт: первую читать обязательно, вторую – если есть свободное время…


Ускоряем BitmapData.setPixel() до ~30fps

July 22, 2008 – 6:20 am

Столько всего интересного происходит, а времени написать нет ::((( Так-что посты коротенькие.

Как Вы думаете можно ли получить прирост с ~20fps на картинке 512×256 до ~38fps на картинке 1024×1024 при полной её “закраске” методом BitmapData.setPixel()?

Mr. doob доказывает, что можно!

Как он говорит: никогда не забывайте BitmapData.lock() и BitmapData.unlock(), они дают прирост с ~7 до ~38 fps.

Пример: http://mrdoob.com/lab/effects/1k/flaxor.swf

Исходник: http://mrdoob.com/lab/effects/1k/flaxor.txt


Stage vs SystemManager

July 6, 2008 – 10:04 pm

Пользователям флекс фреймворка советуют использовать SystemManager вместо Stage (ну или я не так это понимаю)

All keyboard and mouse activity that is not expressly trapped is seen by the SystemManager, making it a good place to monitor activity should you need to do so.

Раз советуют, значит так нужно, но не всегда советы работают как нужно!

Неудобства начинаются когда мы хотим что-то потаскать мышкой. Если использовать startDrag() или слушать событие MouseEvent.MOUSE_MOVE/MouseEvent.MOUSE_UP, то при уводе мыши за границы флеш плеера объект просто залипает на последней позиции позиции мыши в окне флеш плеера. Если опустить мышь за окном плеера, то по возвращению в плеер объект будет носиться за мышью до последующего клика. Побороть это можно повесив все события на Stage.

Эти штуки можно посмотреть в примере.

Используйте SystemManager с умом, но не забывайте про Stage.

ps. вордпресс отстой, операция вставки флешки превращается в извращения.

upd: забыл сказать, что в чистом АС3 проекте startDrag() и Stage ведут себя также плохо и хорошо


Silverlight vs Flash: Video Codec Comparison*

July 3, 2008 – 6:32 am

Статья о сравнении производительности видео кодеков от Silverlight и Flash.

В кратце, дела у Silverlight похуже чем у Flash, но сильных различий невидно.
При просмотре тестовых видео качество у Silverlight будет похуже — проскакивают непонятные квадратики.

Сложившаяся ситуация не может не радовать — конкуренция великая сила). В данный момент, по моему мнению, мы имеем двух противников адоб и майкрософт и этих противников совершенно разные политики достижения целей: адоб дает хорошие инструменты, майкрософт “скупает” разработчиков. Адобу творит чудеса в плане флешплеера (да и софта в целом), но ему нехватает мобильности и желания активно работать с флеш-сообшеством (покрайней мере отечественным). Майкрософт делает свои “обычные” порой тормознутые вещи, но ведет активную работу с сообществом программистов, привлекая и стимулируя(читай “подкупая” :) ) их разными плюшками, конференциями, софтом. Причину почему этого не делает адоб я незнаю, то ли денег нехватает, то ли желания, то ли представители в странах СНГ не работаю как нужно (кстате может спросить об этому у Главы представительства Adobe Systems в России и СНГ, вроде как 2й год работает, должен знать ситуацию).

Вобщем берем попкор и смотрим за событиями дальше. Обещают, что будет интересно.

UPD: пример работы MS )

________________
*скопировано оригинальное название статьи )


Обновление Alternativa3D 5.0.2

June 27, 2008 – 7:01 am

Обновилась замечательная 3D платформа – Alternativa! Все подробности тут.

А если кратко, то:

  • Переименованы методы;
  • Переименовано свойство;
  • Добавлены фичи;
  • Исправлены ошибки в коде;
  • Исправлены ошибки в документации.

В общем, нада юзать!



]]> rss о RIA от 33 Коровы
Забадать RSS!
]]>
~~~~~~