Archive

Articles taggués ‘Alchemy’

Adobe Flash Player Payant à partir du 1/08/2012 ? Oui et Non!

08/05/2012

A la lecture de ce titre très évocateur, vous êtes sans doute tombé de votre chaise.. Rassurez-vous tout de suite, le Flash player ne sera pas payant pour les utilisateurs! En effet, seuls certains programmeurs seront soumis à cette nouvelle réglementation, et de + ce sera probablement une toute petite minorité.

Avant de vous suicider, sachez qu’il y a peu de chance que vous soyez concerné. Voir le détail ci après..

Souvenons nous

En 2008, un groupe d’Adobe Labs développe pour la nouvelle AVM2 (Machine Virtuelle issue du projet Tamarin) le projet “Alchemy“. Ceci en marge d’un soutient commercial d’Adobe.

Ce projet à pour but de pouvoir compiler des codes écrit en C ou C++ en ABC, soit, le ActionScript Byte Code interpretable par la machine vitruelle du Flash Player. La première idée était de pouvoir réutiliser des codes existants sans devoir tout réécrire en AS3.

Les instructions possibles sont principalement, mathématiques, de mémoire, d’instanciation,.. Mais ne peuvent pas remplacer les routines du Core Player.. Donc, pas question de pouvoir remplacer les classes natives AS3 comme pour gérer la vidéo, le son, la timeline, les images etc. étant présent dans un SWF, Par contre, écrire un DSP, un compresseur JPG, etc., est possible.

Démystification du Flash Player en gros.. :)

flash_player_flow_chart

La révélation Alchemy

Outre son premier but de pouvoir réutiliser certains codes C ou C++ au sein d’une application Flash, Alchemy a mit en évidence plusieurs choses, En premier, le code généré par Alchemy s’est avéré bien + véloce que le même code Ecrit en AS3. En second lieu, Alchemy apporte deux nouvelles choses qui jusqu’alors n’étaient réservées qu’a des langages de bas niveau tels que C et C++. L’accès direct à la mémoire RAM ainsi que le système de pointeur bien connu des programmeurs C.

Malheureusement, quiconque s’est lancé dans les essais utilisant Alchemy, s’est vite rendu compte que le système souffrait d’un problème majeur! Il embarquait d’office l’intégralité du framework (fourni sous forme d’une librairie SWC), soit environ un acroissement de 130K, et ce, même si vous n’utilisiez qu’un simple accès à la mémoire locale.

Les inventions tierces parties

Des programmeurs de génie de la communauté ont vite réagi et ont inventé des solutions permettant l’utilisation de l’avantage Alchemy sans les contraintes de taille du fichier, Les plus connus sont Burack avec sont désormais célèbre Azoth (en réf à Alchemy), Joa Ebert avec son Apparat, sans oublier Haxe.

Il a tout de suite été clair qu’Alchemy mettait en évidence une grosse lacune du compilateur flash ASC. En effet, si du code Alchemy peut être exécuté 10X plus rapidement que du code AS3, c’est que le compilateur pouvait être refait afin d’arriver aux même performances nativement.

Adobe Flash Player Premium Features

Tel est le nom donné par Adobe aux nouvelles fonctionalités exploitant les capacité issues tout droit d’Alchemy. Pour le moment, il s’agit principalement de l’accès à la mémoire locale via les outils tierce partie comme Azoth ou Haxe ainsi que le Stage3D avec l’accélération GPU.

C’est justement ces 2 fonctionalités du Player qui seront taxées par Adobe, En effet, Adobe a décidé de faire payer une licence pour pouvoir accéder à ses 2 fonctionalités.

Attention ! La licence ne sera necessaire que si votre application utilise l’accès direct à la mémoire locale et le Stage3D dans la même application! L’utilisation de l’un ou de l’autre seulement ne sera pas soumit à cette licence.

Comment celà fonctionne t’il?

Et bien, c’est assez simple! Si le nouveau Player doit exécuter au sein d’une même application des instructions de la classe Stage3D ET des instructions d‘accès à la mémoire de domaine, il réclamera la licence. Si le programmeur n’a pas de licence, le Player éxécutera un code logiciel interne à la place de l’accélération matérielle GPU et simulera la mémoire (je suppose en bytesArray).

Combien coûte la licence?

Au départ la licence ne coûte rien! Tout le monde en ayant besoin pourra la demander auprès d’Adobe. Cette licence ne vous coûtera de l’argent que si votre application vous rapporte de l’argent au delà de 50.000 USD ( 50K$ ). Ha!!! Vous n’avez plus trop envie de vous jeter par la fenêtre du coup.. :)

Le prix est fixé à 9% des revenus exédants les 50000 USD.

Voici un graphique résumant la situation:

premiumfeatureschart-24png

Je pense donc qu’Adobe veut seulement récupérer un peu d’argent auprès de ceux qui gagnent énormément avec leurs jeux etc. C’est assez légitime, car Adobe nous a fournit l’AS3, l’AVMplus, et le Player gratuitement.

Le bon coté des choses

4 ans après le lancement du projet Alchemy et voyant la tournure et l’utilisation que la communauté en a faite, Adobe a enfin décidé d’implémenter directement la force d’Alchemy au sein du langage AS3. Aussi, le compilateur ASC est en cours de redéveloppement afin d’intégrer ces nouvelles possibilités sans devoir embarquer tout un framework de 130K.

Le projet Alchemy est reprit de manière officielle et cette fois soutenu par Adobe, donc, une nouveau logiciel rendant l’utilisation d’Alchemy plus aisée devrait voir le jour prochainement.

Conclusions

Si vous n’utilisez pas conjointement Stage3D et Domain Memory Accès, cette licence ne vous concerne pas.

Si vous utilisez ces deux features, mais que votre application ne vous rapporte pas + de 50000 USD, la licence ne vous coûtera rien.

Veuillez trouver toutes les informations sur la page dédiée par Adobe:
http://www.adobe.com/devnet/flashplayer/articles/premium-features.html

Le futur Alchemy:
http://blogs.adobe.com/flashplayer/2011/09/updates-from-the-lab.html

Le roadmap:
http://www.adobe.com/devnet/flashplatform/whitepapers/roadmap.html

PS: J’ai écris cet article sur base de ce que j’ai compris! Si je suis dans l’erreur quelque part, n’hésitez pas à m’en faire part dans les commentaires.

Alama AS3, Adobe, Alchemy, Flash , , , , , , , ,