| その他の名前 | プロジェクトアルケミー |
|---|---|
| 開発者 | アドビシステムズ |
| 初回リリース | 2008年 |
| リポジトリ |
|
| ライセンス | オープンソース |
| Webサイト | adobe-flash.github.io/crossbridge/ |
CrossBridgeはAdobe Systemsが開発したオープンソースのツールセットで、CおよびC++コードをクロスコンパイルしてAdobe Flash PlayerまたはAdobe AIRで実行します。[1] CrossBridgeでコンパイルされたプロジェクトは、 ActionScript 3プロジェクトよりも最大10倍高速に実行されます。 [2] [3] [4] [5] [6] CrossBridgeは「Alchemy」や「Flash Runtime C++ Compiler」、または「FlasCC」としても知られています。[7] [8] [9]
CrossBridgeは、Flash Playerの高性能メモリアクセス オペコード(「ドメインメモリ」と呼ばれる)を使用して、メモリ内のデータを高速に処理します。 [10] CrossBridgeは、 LLVMとGCCをコンパイラバックエンドとして使用し、C++コードをコンパイルして最適化し、AVM2(ActionScript仮想マシン2)内で実行できるように変換します。CrossBridgeで構築されたプログラムは、通常のActionScriptコードよりも最大10倍高速ですが、[4] [5] [6]ネイティブC++コードよりも最大2倍から10倍遅くなります。[11]
CrossBridgeはFlash Playerムービー( .swfファイル)またはFlashライブラリ(.swcファイル)を生成でき、これらはActionScript 3で記述され、無料のApache Flex SDK(旧Adobe Flex SDK)を使用してコンパイルされた大規模なプロジェクトで使用できます。CrossBridgeは、Flash Player 11( Stage3Dとして知られる)に搭載されているGPUベースの3Dレンダリングアクセラレーションも使用します。[12]
AdobeはCrossBridgeを使用してOpenGLをFlash Player Stage3D内で使用できるように移植し、2012年にオープンソースプロジェクトとしてリリースしました。[13] Luaプログラミング言語(バージョン5.1)もCrossBridgeを使用してFlash Playerで実行できるように移植され、Google Codeでリリースされました。[14] CrossBridgeでコンパイルされたプロジェクトでは、高速フーリエ変換やメキシカンハットウェーブレット変換などのクライアント側デジタル信号処理をリアルタイムで実行することもできます。 [15]
歴史
2008年、AdobeはCrossBridgeを「Project Alchemy」としてAdobe Labsのウェブサイトでリリースした。これにより、LLVMおよびGCCコンパイラを使用して、特別に変更されたC++プロジェクトをSWFにコンパイルすることが可能になった。[7]
2012年、AdobeはFlash Playerを収益化するために、Flash PlayerのStage3Dとドメインメモリ機能の使用を「プレミアム機能」ブランドで制限しました。「プレミアム機能」は使用許諾されており、出版社はAdobeに使用料を支払うことになりました。[16] Project AlchemyはFlash Runtime C++ Compilerとして商業的にリリースされました。[9]
2013年、AdobeはFlash Runtime C++コンパイラをCrossBridgeとしてオープンソース化し、GitHubコードホスティングウェブサイトで公開した。[17]「プレミアム機能」も無料で使用できるようになり、ライセンスやロイヤリティは不要になった。[18]
参照
- asm.js
- エムスクリプト
- Google ネイティブ クライアント(NaCl)
- WebAssembly – ブラウザ向けに開発中のバイトコード
参考文献
- ^ Adobe の CrossBridge、GitHubにて
- ^ 「Alchemy:FAQ」。2012年5月5日時点のオリジナルよりアーカイブ。2012年5月5日閲覧。Adobe Labs、「現時点では ASC は最適化をほとんど実行しません」
- ^ Zotov, Peter (2012-05-06). 「Adobe の愚かさの限界に達する - whitespace」. Whitequark.org. 2012-10-15 にオリジナルからアーカイブ。2012-10-27に取得。
- ^ ab Alchemy:FAQ 2012年5月5日アーカイブ、Wayback Machine、Adobe Labs
- ^ ab LLVM を使用した ActionScript バイトコードの最適化、Adobe
- ^ ab Adobe Alchemy は ActionScript の異端か? 2012-08-19 にWayback Machineにアーカイブ、Unit Zero One
- ^ ab Alchemy が Labs にリリースされました、Adobe Blogs、2008 年 11 月 17 日
- ^ Alchemy アップデートが Labs でリリースされました、Adobe ブログ、2008 年 12 月 11 日
- ^ ab プロジェクト「Alchemy」が Flash ランタイム C++ コンパイラ (FlasCC) に、Adobe Blogs、2012 年 10 月 8 日
- ^ Flash Player 用 FlasCC、Adobe Gaming 2013 年 5 月 25 日アーカイブ、Wayback Machineより
- ^ Alchemy Archived 2020-10-04 at the Wayback Machine、Adobe Labs
- ^ XC API、Adobe Gaming、2013年4月25日アーカイブ、Wayback Machine
- ^ Stage3D 用 OpenGL、GitHub プロジェクト ホスティング
- ^ lua-alchemy、Alchemy を使用した ActionScript 用の Lua プログラミング言語の移植、Google Code
- ^ AVM2 におけるリアルタイムピッチ検出、Temptonik、2015 年 1 月
- ^ Flash Player のプレミアム機能 Archived 2014-07-19 at the Wayback Machine、Adobe Flash Team Blog、Adobe
- ^オープンソースの Flash C++ コンパイラ、CrossBridge、 Wayback Machineで 2014-03-25 にアーカイブ、Adobe Blogs、2013 年 6 月 25 日
- ^ Adobe Flash Player のプレミアム機能、Adobe Devnet
外部リンク
- 公式サイト
- Adobe devnet の Adobe Flash C++ コンパイラ (FlasCC)
- GitHub上の adobe-flash / crossbridge
- SourceForgeの CrossBridge
- GitHub上の vpmedia / crossbridge
- SourceForgeの CrossBridge コミュニティ
