stringtranslate.com

Puente cruzado

CrossBridge es un conjunto de herramientas de código abierto desarrollado por Adobe Systems , que compila de forma cruzada código C y C++ para ejecutarse en Adobe Flash Player o Adobe AIR . [1] Los proyectos compilados con CrossBridge se ejecutan hasta 10 veces más rápido que los proyectos ActionScript 3. [2] [3] [4] [5] [6] CrossBridge también era conocido como "Alchemy" y "Flash Runtime C++ Compiler", o "FlasCC". [7] [8] [9]

CrossBridge utiliza códigos de operación de acceso a memoria de alto rendimiento en Flash Player (conocidos como "Domain Memory") para trabajar con datos en memoria rápidamente. [10] CrossBridge utiliza LLVM y GCC como backends del compilador para compilar código C++, optimizarlo y transformarlo para que se ejecute dentro de AVM2 ( ActionScript Virtual Machine 2 ). Los programas creados con CrossBridge son hasta 10 veces más rápidos que el código ActionScript normal, [4] [5] [6] pero hasta 2 a 10 veces más lentos que el código C++ nativo. [11]

CrossBridge puede generar películas Flash Player ( archivos .swf ) o bibliotecas Flash ( archivos .swc ), que luego pueden usarse en proyectos más grandes escritos en ActionScript 3 y compilados utilizando el Apache Flex SDK gratuito (anteriormente Adobe Flex SDK). CrossBridge también utiliza la aceleración de renderizado 3D basada en GPU presente en Flash Player 11 (conocida como Stage3D ). [12]

Utilizando CrossBridge, Adobe adaptó OpenGL para su uso dentro de Flash Player Stage3D y lo lanzó como un proyecto de código abierto en 2012. [13] El lenguaje de programación Lua (versión 5.1) también fue adaptado para ejecutarse en Flash Player utilizando CrossBridge y lanzado en Google Code. [14] Los proyectos compilados con CrossBridge también permitieron ejecutar el procesamiento de señales digitales del lado del cliente en tiempo real, [15] incluyendo la transformada rápida de Fourier y la transformada wavelet de sombrero mexicano .

Historia

En 2008, Adobe lanzó CrossBridge como "Project Alchemy" en el sitio web de Adobe Labs . Permitió la compilación de proyectos C++ especialmente modificados en formato SWF, utilizando los compiladores LLVM y GCC. [7]

En 2012, en un intento de monetizar Flash Player, Adobe restringió el uso de las funciones Stage3D y Domain Memory de Flash Player bajo la marca "Funciones Premium". Las "Funciones Premium" fueron licenciadas para su uso y los editores debían pagar regalías a Adobe por su uso. [16] Project Alchemy fue lanzado comercialmente como Flash Runtime C++ Compiler. [9]

En 2013, Adobe publicó en código abierto el compilador Flash Runtime C++ como CrossBridge y lo publicó en el sitio web de alojamiento de código GitHub . [17] Las "Funciones Premium" también se hicieron gratuitas y ya no requerían licencias ni regalías. [18]

Véase también

Referencias

  1. ^ CrossBridge de Adobe, en GitHub
  2. ^ "Alquimia: Preguntas frecuentes". Archivado desde el original el 5 de mayo de 2012 . Consultado el 5 de mayo de 2012 .Adobe Labs, "ASC realiza pocas optimizaciones en este momento"
  3. ^ Zotov, Peter (6 de mayo de 2012). «Alcanzando los límites de la estupidez de Adobe: espacios en blanco». Whitequark.org. Archivado desde el original el 15 de octubre de 2012. Consultado el 27 de octubre de 2012 .
  4. ^ ab Alchemy:FAQ Archivado el 5 de mayo de 2012 en Wayback Machine , Adobe Labs
  5. ^ ab Optimización del código de bytes de ActionScript mediante LLVM, Adobe
  6. ^ ¿ Es Adobe Alchemy una herejía de ActionScript? Archivado el 19 de agosto de 2012 en Wayback Machine , Unit Zero One
  7. ^ ab Alchemy publicado en Labs, Adobe Blogs, 17 de noviembre de 2008
  8. ^ Actualizaciones de Alchemy publicadas en Labs, Adobe Blogs, 11 de diciembre de 2008
  9. ^ El proyecto “Alchemy” es ahora el compilador Flash Runtime C++ (FlasCC), Adobe Blogs, 8 de octubre de 2012
  10. ^ FlasCC para Flash Player, Adobe Gaming Archivado el 25 de mayo de 2013 en Wayback Machine.
  11. ^ Alquimia Archivado el 4 de octubre de 2020 en Wayback Machine , Adobe Labs
  12. ^ API de XC, Adobe Gaming Archivado el 25 de abril de 2013 en Wayback Machine.
  13. ^ OpenGL para Stage3D, alojamiento del proyecto en GitHub
  14. ^ lua-alchemy, puerto del lenguaje de programación Lua para ActionScript utilizando Alchemy, Google Code
  15. ^ Detección de tono en tiempo real en AVM2, Temptonik, enero de 2015
  16. ^ Funciones premium de Flash Player Archivado el 19 de julio de 2014 en Wayback Machine , Blog del equipo Adobe Flash, Adobe
  17. ^ Compilador Flash C++ de código abierto, CrossBridge Archivado el 25 de marzo de 2014 en Wayback Machine , Adobe Blogs, 25 de junio de 2013
  18. ^ Funciones premium de Adobe para Flash Player, Adobe Devnet

Enlaces externos