КроссМост
Другие имена | Проект Алхимия |
---|---|
Разработчик(и) | Adobe Системы |
Первоначальный выпуск | 2008 год |
Репозиторий | |
Лицензия | с открытым исходным кодом |
Веб-сайт | Adobe Flash |
CrossBridge — это набор инструментов с открытым исходным кодом, разработанный Adobe Systems , который осуществляет кросс-компиляцию кода C и C++ для запуска в Adobe Flash Player или Adobe AIR . [1] Проекты, скомпилированные с помощью CrossBridge, выполняются до 10 раз быстрее, чем ActionScript 3 . проекты [2] [3] [4] [5] [6] CrossBridge также был известен как «Алхимия» и «Компилятор Flash Runtime C++» или «FlasCC». [7] [8] [9]
CrossBridge использует высокопроизводительные доступа к памяти коды операций в Flash Player (известные как «Память домена») для быстрой работы с данными в памяти. [10] CrossBridge использует LLVM и GCC в качестве серверных частей компилятора для компиляции кода C++, его оптимизации и преобразования для работы в AVM2 ( Виртуальная машина ActionScript 2 ). Программы, созданные с помощью CrossBridge, работают до 10 раз быстрее, чем обычный код ActionScript. [4] [5] [6] но от 2 до 10 раз медленнее, чем собственный код C++. [11]
CrossBridge может создавать видеоролики Flash Player ( файлы .swf ) или библиотеки Flash ( файлы .swc ), которые затем можно использовать в более крупных проектах, написанных на ActionScript 3 и скомпилированных с использованием бесплатного Apache Flex SDK (ранее Adobe Flex SDK). CrossBridge также использует ускорение 3D-рендеринга на основе графического процессора , присутствующее в Flash Player 11 (известное как Stage3D ). [12]
Используя CrossBridge, Adobe портировала OpenGL для использования в Flash Player Stage3D и выпустила его как проект с открытым исходным кодом в 2012 году. [13] Язык программирования Lua (версия 5.1) также был портирован для работы в Flash Player с использованием CrossBridge и выпущен в Google Code. [14] Проекты, скомпилированные с помощью CrossBridge, также позволяли выполнять цифровую обработку сигналов на стороне клиента в режиме реального времени. [15] включая быстрое преобразование Фурье и мексиканской шляпы вейвлет-преобразование .
История
[ редактировать ]В 2008 году CrossBridge был выпущен Adobe как «Project Alchemy» на веб-сайте Adobe Labs . Это позволило компилировать специально модифицированные проекты C++ в SWF с использованием компиляторов LLVM и GCC. [7]
В 2012 году, пытаясь монетизировать Flash Player, Adobe ограничила использование функций Stage3D и Domain Memory Flash Player под брендом «Премиум-функции». «Премиум-функции» были лицензированы для использования, и издатели должны были платить Adobe гонорары за их использование. [16] Project Alchemy был коммерчески выпущен как компилятор Flash Runtime C++. [9]
В 2013 году Adobe открыла исходный код компилятора Flash Runtime C++ под названием CrossBridge и разместила его на GitHub . веб-сайте хостинга кода [17] «Премиум-функции» также стали бесплатными для использования и больше не требовали лицензирования или гонораров. [18]
См. также
[ редактировать ]- asm.js
- Эмскриптен
- Собственный клиент Google (NaCl)
- WebAssembly — байт-код для браузеров, находящийся в разработке.
Ссылки
[ редактировать ]- ^ CrossBridge от Adobe , на GitHub.
- ^ «Алхимия: Часто задаваемые вопросы» . Архивировано из оригинала 5 мая 2012 года . Проверено 5 мая 2012 г. , Adobe Labs, «ASC в настоящее время выполняет мало оптимизаций»
- ^ Зотов, Петр (06 мая 2012 г.). «Достигая пределов глупости Adobe – пробелы» . Whitequark.org. Архивировано из оригинала 15 октября 2012 г. Проверено 27 октября 2012 г.
- ^ Jump up to: а б Алхимия: часто задаваемые вопросы. Архивировано 5 мая 2012 г. в Wayback Machine , Adobe Labs.
- ^ Jump up to: а б Оптимизация байт-кода ActionScript с использованием LLVM , Adobe
- ^ Jump up to: а б Adobe Alchemy, это ересь ActionScript? Архивировано 19 августа 2012 г. в Wayback Machine , Unit Zero One.
- ^ Jump up to: а б Выпущено издание Alchemy в Labs , блогах Adobe, 17 ноября 2008 г.
- ^ Обновления Alchemy, выпущенные в лабораториях , блоги Adobe, 11 декабря 2008 г.
- ^ Jump up to: а б Проект «Алхимия» теперь называется компилятором Flash Runtime C++ (FlasCC) , блоги Adobe, 8 октября 2012 г.
- ^ FlasCC для Flash Player , Adobe Gaming. Архивировано 25 мая 2013 г., на Wayback Machine.
- ^ Алхимия. Архивировано 4 октября 2020 г. в Wayback Machine , Adobe Labs.
- ^ API XC , Adobe Gaming. Архивировано 25 апреля 2013 г., на Wayback Machine.
- ^ OpenGL для Stage3D , хостинг проекта GitHub.
- ^ lua-alchemy , Порт языка программирования Lua для ActionScript с использованием Alchemy, Google Code
- ^ Обнаружение высоты звука в реальном времени в AVM2 , Temptonik, январь 2015 г.
- ^ Премиум-функции для Flash Player. Архивировано 19 июля 2014 г. на Wayback Machine , блог группы Adobe Flash, Adobe
- ^ Компилятор Flash C++ с открытым исходным кодом, CrossBridge. Архивировано 25 марта 2014 г. на Wayback Machine , блоги Adobe, 25 июня 2013 г.
- ^ Функции Adobe Premium для Flash Player , Adobe Devnet