В настоящее время проявляется большой интерес к Flash технологиям на встраиваемых платформах. Однако результаты тестирования Adobe Flash на ARM процессорах больше удручали, чем радовали. Я сейчас пишу не о фирменных решениях от Nokia (на Maemo флеш летает), а об открытом ПО, которое можно использовать свободно. Так вот, пока адекватной производительности Flash технологии на ARM процессорах с бесплатным ПО я не встречал.
Но надежда всё же есть. Не так давно TI выложил на своем сайте плагин Adobe Flash 10.1 для Firefox, оптимизированный для ядра Cortex-A8. Чтобы скачать этот плагин требуется регистрация и одобрение от TI. Затем вы должны ознакомится с лицензией, т.к. есть интересные ограничения на использование: например, нельзя закачать данный плагин на более, чем 20 устройств и только для демонстрации, а не коммерческого использования.
Теперь о главном. Я установил данный плагин на Beagleboard-xM и стал заходить на различные сайты, содержащие Flash вставки или полностью выполненые на Flash. Результаты очень даже порадовали! Представьте, на мониторе с активным разрешением HD720 открываю сайт, полностью выполненый на Flash и не замечаю никаких тормозов! Это был сайт с элементами управления и всем содержимым на Flash. Затем, я открыл сайт где было видео большого разрешения в виде Flash: это видео действительно достаточно сильно отставало от ПК с Core2 DUO. На мой взгляд, в первую очередь видео просто не успевало загружаться, т.к. USB-Ethernet и так сильно загружали слабенькое ARM ядро, да еще ему надо было обрабатывать весь этот Flash поток со сжатым видео. Сразу же отмечу серьезные требования к размеру ОЗУ на платформе. Хорошо, что на моем xM её 512М и этого действительно хватало, хотя использовано было около 350М (проверял командой free). Также решил попробовать и на своем модуле BlueShark с процессором OMAP3530-720МГц, но со 128М ОЗУ. Такой размер ОЗУ просто оказался фатальным для Firefox — он просто не желал открывать страницы. Причем, Firefox не загружается именно с добавленным Flash-плагином, без него он грузится влет и открывает страницы без проблем. Может быть надо было создать SWAP-партицию на SD-карте? Вряд ли это бы ускорило работу, т.к. на SD запись не самая быстрая. Осталось попробовать загрузить Flash плагин на Beagleboard-C3 (256M ОЗУ), но для него нужен хитрый RS232 кабель, который я потерял :).
Итоги. В целом, результат впечатлил и я с ответственностью заявляю, что Flash технология может быть использована на ARM процессорах. Единственная оговорка — оптимизация под конкретное ARM ядро просто необходима, иначе — слайд шоу, вместо гладкого Flash. Также хочу отметить, что для применения в конечных продуктах придется лицензировать данный плагин в Adobe, а это вряд ли дешевое удовольствие.