크로스브리지

CrossBridge

크로스브리지(CrossBridge)는 Adobe Systems가 개발한 오픈 소스 툴셋으로, Adobe Flash Player 또는 Adobe AIR에서 실행할 CC+++ 코드를 교차 컴파일한다.[1]CrossBridge로 컴파일된 프로젝트는 ActionScript 3 프로젝트보다 최대 10배 더 빨리 실행된다.[2][3][4][5][6]크로스브릿지는 "Alchemy"와 "Flash Runtime C++ Compiler" 또는 "FlasCC"[7][8][9]로도 알려져 있다.

크로스브릿지는 플래시 플레이어("Domain Memory"로 알려진)에서 고성능 메모리 액세스 opcode를 사용하여 인메모리 데이터를 신속하게 처리한다.[10]C++ 코드를 컴파일러 백업으로 크로스브리지가 LLVMGCC를 사용하여 C++ 코드를 컴파일하고 최적화하며 AVM2(ActionScript Virtual Machine 2) 내에서 실행되도록 변환한다.CrossBridge로 구축된 프로그램은 일반 ActionScript 코드보다 최대 10배 빠르지만, 기본 C++ 코드보다 최대 2배~10배 느리다.[4][5][6][11]

CrossBridge는 Flash Player 영화(.swf 파일) 또는 Flash Libraries(.swc 파일)를 생성할 수 있으며, 이 영화들은 ActionScript 3에서 작성되고 무료 Apache Flex SDK(이전의 Adobe Flex SDK)를 사용하여 컴파일된 더 큰 프로젝트에서 사용할 수 있다.크로스브릿지는 또한 Flash Player 11(Stage3D라고도 함)에 있는 GPU 기반 3D 렌더링 가속을 사용한다.[12]

Adobe는 CrossBridge를 사용하여 Flash Player Stage3D 내에서 사용할 수 있도록 OpenGL을 포팅하여 2012년에 오픈 소스 프로젝트로 출시했다.[13]루아 프로그래밍 언어(버전 5.1)도 크로스브리지(CrossBridge)를 사용하여 플래시 플레이어에서 실행되도록 포팅되어 구글 코드로 출시되었다.[14]크로스브리지 컴파일 프로젝트도 빠른 푸리에 변환멕시코 해트 웨이브릿 변환[15]포함한 클라이언트측 디지털 신호 처리를 실시간으로 실행할 수 있도록 했다.

역사

2008년에 크로스브릿지는 Adobe Labs 웹사이트에서 Adobe에 의해 "Project Alchemy"로 발매되었다.LLVM과 GCC 컴파일러를 사용하여 특수하게 수정된 C++ 프로젝트를 SWF에 컴파일이 가능하도록 했다.[7]

2012년, Flash Player의 수익화를 위해 Adobe는 "프리미엄 기능" 브랜드로 Flash Player의 Stage3D 및 도메인 메모리 기능의 사용을 제한했다."프리미엄 기능"은 사용이 허가되었고 출판사는 어도비에게 동일한 기능을 사용하기 위해 로열티를 지불해야 했다.[16]프로젝트 알케미는 플래시 런타임 C++ 컴파일러로 상업적으로 출시되었다.[9]

2013년 Adobe는 Flash Runtime C++ Compiler를 CrossBridge로 오픈소싱하여 GitHub 코드 호스팅 웹사이트에 공개했다.[17]"프리미엄 기능"도 무료로 사용되었고, 더 이상 라이센싱이나 로열티가 필요하지 않게 되었다.[18]

참고 항목

참조

  1. ^ GitHubAdobe별 크로스브리지
  2. ^ "Alchemy:FAQ". Archived from the original on May 5, 2012. Retrieved May 5, 2012., Adobe Labs, "ASC는 현재 최적화 작업을 거의 수행하지 않음"
  3. ^ Zotov, Peter (2012-05-06). "Reaching the Limits of Adobe Stupidity – whitespace". Whitequark.org. Retrieved 2012-10-27.
  4. ^ a b 연금술:FAQ 2012년 5월 5일 Adobe Labs의 웨이백 머신에 보관
  5. ^ a b LLVM, Adobe를 사용하여 ActionScript 바이트 코드 최적화
  6. ^ a b 어도비 알케미, 액션스크립트 이단인가?0번 유닛
  7. ^ a b Alchemy 2008년 11월 17일 Adobe Blogs, Labs에서 릴리즈된 Alchemy
  8. ^ 2008년 12월 11일 Adobe Blogs, Labs에 공개된 Alchemy 업데이트
  9. ^ a b "Alchemy" 프로젝트는 이제 Flash Runtime C++ Compiler(FlasCC), Adobe 블로그, 2012년 10월 8일
  10. ^ FlasCC for Flash Player, Adobe Gaming 2013년 5월 25일 웨이백 머신보관
  11. ^ 알케미, 어도비 랩스
  12. ^ XC API, Adobe Gaming 2013년 4월 25일 웨이백 머신보관
  13. ^ Stage 3D용 OpenGL, GitHub 프로젝트 호스팅
  14. ^ Alchemy를 사용하는 ActionScript용 Lua 프로그래밍 언어의 Port of the Lua-alchemy, Google Code
  15. ^ Timponik, AVM2, 2015년 1월 실시간 피치 검출
  16. ^ 2014-07-19년 Wayback Machine, Adobe Flash Team 블로그, Adobe에 보관Flash Player의 프리미엄 기능
  17. ^ 오픈 소스 Flash C++ 컴파일러, CrossBridge Archived 2014-03-25 Wayback Machine, Adobe Blogs, 2013년 6월 25일
  18. ^ Flash Player, Adobe Devnet용 Adobe Premium 기능

외부 링크