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

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.

Posez une question dans la catégorie Les news : vos réactions du forum
Cette page n'accepte plus de commentaires
5 commentaires
    Votre commentaire
  • Chklang
    Impressionnant! A quand JSCuda
    0
  • Big Monstro
    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é...
    0
  • Chklang
    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.
    0