vendredi 25 octobre 2013

[Chrome OS] Google+Photos fonctionne enfin complètement sur ARM

Le mois dernier, de puissantes fonctions d'édition de photos ont été intégrées dans Google+Photos. Je les ai testé sur "Chrome for Windows" et j'ai été plutôt impressionné. Malheureusement, ces possibilités de retouches, issues de la technologie développée par Snapseed (racheté il y a un an par Google), n'était pas accessibles sur le Samsung Chromebook. Il semblerait que ce soit désormais le cas, enfin... très bientôt.


Je n'en suis pas certain à 100%, mais cela signifie que ce module d'édition a été compilé en bytecode PNaCl (Portable Native Client). En effet, pour intégrer le code de Snapseed dans l'application web Google+Photos, les développeurs ont choisi d'utiliser Native Client, i.e. la technologie qui permet de compiler du code C/C++ dans un module traité en local par la machine cliente (votre PC). En gros, lorsque vous ouvrez le menu d'édition de Google+Photos, le module se télécharge dans une sandbox gérée en local par Chrome.

Chargement du module Native Client
Le principal intérêt de Native Client est d'être performant. Le code s'exécute presque aussi rapidement qu'une application classique (dite native) de Windows, iOS ou Android. Aussi, on peut imaginer que le code de l'application Snapseed sous iOS (donc écrite en Objective C) a pu être repris assez facilement par Google, injecté dans le compilateur Native Client et nettoyé de ces instructions interdites (certaines sont bloquées par le compilateur car elles sont considérées comme trop permissives, donc dangereuses pour la sécurité du navigateur). 

L'inconvénient, jusqu'à présent, était que ce compilateur ne générait qu'un module fonctionnant uniquement sur des processeurs x86. Impossible donc de l'exploiter sur le Samsung Chromebook, équipé d'un processeur Exynos (ARM).

Sur le HP Chromebook 11 non plus du coup...
La solution s'appelle alors PNaCl, variante de la technologie Native Client, qui fournit un module en byte-code, interprété par LLVM (Low Level Virtual Machine) qui se charge de traduire en langage compréhensible par les processeurs x86 ou ARM. PNaCl est activé par défaut à partir de la version 30 du canal de développement de Chrome. 



Cependant, sur le canal stable du système, il est toujours désactivé. Nous verrons donc si une prochaine mise à jour débloque la fonctionnalité. Si Google le fait avant mercredi prochain, j'aurais l'occasion de confirmer si cela fonctionne vraiment sur le HP Chromebook 11 (ma soeur m'en ramène un depuis New-York).

Aucun commentaire:

Enregistrer un commentaire