Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

Décoder du H.264... en JavaScript

par - source: Michel Bebenita

Le JavaScript, ce langage de script très utilisé sur Internet, n’est pas reconnu pour sa vitesse d’exécution. Et pourtant...

Un développeur de chez Mozilla a eu l’idée folle de proposer un programme en JavaScript capable de décoder des vidéos en H.264. Et ça fonctionne. Basé sur une adaptation du décodeur open source intégré dans Android, Broadway (son nom) est capable de lire des vidéos encodées en H.264 sans trop de problèmes.

La démonstration effectuée est impressionnante, mais il y a quelques inconnues : le type de processeur utilisé, la définition de la vidéo, etc. Selon son auteur, le code est entre trois et quatre fois plus lent en JavaScript qu’en C (en compilant directement le code), ce qui est plutôt une prouesse. Rappelons que le JavaScript reste un langage interprété qui a longtemps été particulièrement lent. Heureusement, depuis quelques années, les développeurs des principaux navigateurs optimisent leurs moteurs JavaScript pour la vitesse.

Terminons par un point : si c’est une démonstration technologie intéressante, elle se limite à un exercice de style. D’une part parce que le code reste bien plus lent qu’avec un langage plus classique comme le C et d’autre part parce que le décodage logiciel est de plus en plus rare pour le H.264 : les smartphones et autres tablettes décodent la vidéo avec une puce dédiée et la majorité des ordinateurs personnels disposent d’une carte graphique capable de gérer le décodage matériellement.

Partager:
5
Commentaires
X
Valider

Commentaires
Ajouter un commentaire
Chklang 02/11/2011 12:21
Masquer
-0+

Impressionnant! A quand JSCuda

Big Monstro 02/11/2011 13:45
Masquer
-0+

Mouais... l'initiative est amusante, mais compte tenu que le script Javascript est un langage interprété et doit donc passer par l'intermédiaire d'un autre programme (le navigateur web en l'occurrence), l'exécution d'un programme écrit dans ce langage est forcément beaucoup plus lente que son équivalent en langage compilé. La lecture de programmes en langage Java ou Javascript fonctionne sur un principe analogue à un émulateur de console pour PC ou l'ancien Virtual PC pour Mac à base de PowerPC : l'ordinateur doit préalablement traduire les instructions avant de pouvoir les exécuter. Il ne peut les exécuter nativement.

Que le lecteur H.264 en javascript soit seulement 3~4 fois plus lent qu'un programme équivalent écrit en langage natif me semble vraiment optimiste, mais quand bien même ce serait vraiment le cas, cela prouve toujours que le javascript est absolument contreproductif en dehors des pages web (où il est nécessaire pour assurer une portabilité maximale).

Ceci dit, il est bien précisé dans l'article qu'il ne s'agit que d'une expérimentation : "si c’est une démonstration technologie intéressante, elle se limite à un exercice de style". Me voilà donc rassuré...

Chklang 02/11/2011 13:54
Masquer
-0+

Ben comme tu le dit si bien en fin de commentaire, c'est précisé dans l'article donc bon... Et sache que JS n'est pas que du web... Gnome 3 l'utilise aussi, tu peux refaire entièrement ton interface avec gnome 3 avec que du code JS/CSS.

dodfr@Guest 03/11/2011 15:42
Masquer
-0+

Et j'ajoute que tu peux même écrire créer serveur en JS (node.js).

Selon le type d'application, la vitesse n'est pas forcément un élément important par exemple pour pas mal d'applications "bureautique".

nicolasg@Guest 11/11/2011 23:22
Masquer
-0+

dans le même genre, un émulateur PC x86 en javascript => http://bellard.org/jslinux/
très impressionnant

Publicité

Les offres du moment

Newsletters


OK