| クロスブリッジ | |
|---|---|
| その他の名称 | プロジェクト・アルケミー |
| 開発者 | アドビシステムズ |
| 初回リリース | 2008年 ( 2008 ) |
| リポジトリ |
|
| ライセンス | オープンソース |
| ウェブサイト | 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に搭載されているGPUベースの3Dレンダリングアクセラレーション(Stage3D )も利用します。[12]
AdobeはCrossBridgeを使ってOpenGLをFlash Player Stage3D内で使用できるように移植し、2012年にオープンソースプロジェクトとしてリリースしました。[13] Luaプログラミング言語(バージョン5.1)もCrossBridgeを使ってFlash Playerで実行できるように移植され、Google Codeでリリースされました。[14] CrossBridgeでコンパイルされたプロジェクトでは、高速フーリエ変換やメキシカンハットウェーブレット変換などのクライアント側デジタル信号処理をリアルタイムで実行することもできます。 [15]
歴史
2008年、CrossBridgeはAdobeによって「Project Alchemy」としてAdobe Labsのウェブサイトでリリースされました。これにより、LLVMおよびGCCコンパイラを使用して、特別に修正されたC++プロジェクトをSWFにコンパイルできるようになりました。[7]
2012年、AdobeはFlash Playerの収益化を図るため、Flash PlayerのStage3D機能とドメインメモリ機能の使用を「プレミアム機能」ブランドで制限しました。「プレミアム機能」は使用許諾されており、パブリッシャーはAdobeに使用料を支払うことになっていました。[16] Project Alchemyは、FlashランタイムC++コンパイラとして商用リリースされました。[9]
2013年、AdobeはFlashランタイムC++コンパイラをCrossBridgeとしてオープンソース化し、GitHubコードホスティングウェブサイトで公開しました。[17]「プレミアム機能」も無料で利用できるようになり、ライセンスやロイヤリティは不要になりました。[18]
参照
- asm.js
- Emscripten
- Googleネイティブクライアント(NaCl)
- WebAssembly – ブラウザ向けに開発中のバイトコード
参考資料
- ^ AdobeのCrossBridge(GitHub)
- ^ 「Alchemy:FAQ」。2012年5月5日時点のオリジナルよりアーカイブ。2012年5月5日閲覧Adobe Labs、「ASC は現時点ではほとんど最適化を実行しません」
- ^ Zotov, Peter (2012年5月6日). 「Adobeの愚かさの限界に達する - whitespace」. Whitequark.org. 2012年10月15日時点のオリジナルよりアーカイブ。 2012年10月27日閲覧。
- ^ ab Alchemy:FAQ Archived May 5, 2012, at the Wayback Machine , Adobe Labs
- ^ ab LLVMを使用したActionScriptバイトコードの最適化、Adobe
- ^ ab Adobe Alchemy、それはActionScriptの異端か? Archived 2012-08-19 at the Wayback Machine、Unit Zero One
- ^ ab Alchemy が Labs にリリースされました、Adobe Blogs、2008 年 11 月 17 日
- ^ Alchemy アップデートが Labs でリリースされました、Adobe Blogs、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 年 3 月 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 コミュニティ