![]() |
Adobe AIR 3.9 Beta - теперь с workers для Android!
С мобильными не дописал в заголовке.
Правда пока только под Андроид и с ограничениями. Ну и вроде как уменьшено время компиляции под iOS, сейчас буду проверять. И разное по мелочи. Скачать Adobe AIR 3.9 Beta |
Круто, но даже не знаю, стоит ли переводить async-функционал с ANE на Flash...на iOS вряд ли так же быстро у Adobe получится ввести поддержку мультипоточности, особннно в представлении FlashPlayer-а(где каждый Worker, по сути, является еще одной флешкой). Да и скорость нативного кода повыше будет(у меня там правка и разбор HTML, довольно мучительный процесс). Вот это еще заинтересовало:
Цитата:
Код AS3:
P.S. Дочитал release notes, понял в чем соль - Starling у меня останавливался при событии DEACTIVATE, вызовов отрисовки OpenGL на фоне не происходило, и все работало...А теперь при попытке вызова практически любого метода API Stage3D в фоне будет генерироватся ошибка с кодом 3768. P.P.S Упс, перепутал, это для отключения звуков при блокировке экрана было нужно... |
C4Grey, ничего не понял. Я тоже таким методом пользуюсь чтобы звук не играл на iOS. А что не так?
Мне вот интересно. Самые проблемные места в одном приложении когда отрисовывается битмапдата. Это иногда, если фотка большая, по 5-10 секунд длится и девайс все это время не реагирует ни на что. Можно ли для ускорения такого процесса как-то использовать workers? Ну понятно, что прелоадер вероятно теперь анимированный можно запустить, а вот как-то сам процесс можно оптимизировать? |
Цитата:
Цитата:
|
Если говорить конкретнее, то вот самая обыденная задача - выбрать из галереи устройства фотку и отобразить на сцене. Если это ретина устройства, то фотки бывают по 3-4 Мб весят и все замерзает на несколько секунд. Вот можно здесь приспособить воркеры чтобы быстрее процесс происходил?
Код AS3:
|
По оптимизациям:
1. copyPixels, если не ошибаюсь, быстрее draw. 2. Texture.fromBitmapData - по-моему, это синхронная операция, в отличии от загрузки ATF, где можна указать async-callback(догадываюсь, там используется нечто вроде PBO, но не могу понять, почему Adobe не используют его же и для несжатых данных). Но в галерее устройства фотки вряд ли хранятся в ATF, так что этот вариант отпадает :). Была одна идея - ATF вроде как может быть контейнером для обычного RGBA: Цитата:
P.S. Проверил: Код AS3:
|
C4Grey, спасибо что потратил время на тестирование и разбор моей проблемы.
copyPixels быстрее, но там у меня скалирование до нужных размеров (чтобы UI поместилось и лишнюю память не жрало). Поэтому draw. |
Сказать по честному, с айр на "вы", тем более с новейшими фичами типа воркеров..но все же, стало интересно.
Невозможно вынести код, содержащий BitmapData#draw() и трансформации в код воркера? А по комплиту в основном потоке забирать картинку? |
Ну вот что-то такое я и хочу, но не знаю как.
Вообще примеров использования workers для as3 пока очень мало. А для работы с графикой нашел всего один. |
Ну, а что смущает? Вроде все по делу в примере:)
Правда, вторая флешка (где воркеры работают) как-то не очень себя ведет адекватно порой, было так что область отрисовки почернела и восстановилась потом.. Но можно попробовать другие способы запуска кода в врокере, через ембедд-swf, к примеру. Хотя, сдается мне, что узким местом тут являются каналы и шаред-свойства. |
| Часовой пояс GMT +4, время: 17:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.