Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10385
  комментариев: 3201

Представлен декодировщик видео H.264, оформленный на языке JavaScript


Один из разработчиков из проекта Mozilla представил результаты эксперимента, целью которого была демонстрация производительности современных JavaScript-движков, способных справляться с выполнением ресурсоёмких задач. В качестве задачи было выбрано создание приложения для декодирования видеопотоков H.264, написанного целиком на JavaScript.

Для реализации проекта был выбран готовый декодер H.264, написанный на языке Си, который был упрощён, преобразован в биткод LLVM и транслирован в JavaScript при помощи компилятора Emscripten. Результат оказался впечатляющим - используя только штатные оптимизации Emscripten удалось достигнуть производительности декодирования видео (480x270) в браузере с частотой около 30 кадров в секунду на обычном ноутбуке. Проведя небольшие оптимизации скорость работы удалось увеличить примерно на 40%. По мнению разработчиков, применив дополнительные оптимизации, такие как задействование WebGL для обращения к средствам аппаратного ускорения и использование конструкций для параллельной обработки данных, можно достигнуть ещё более впечатляющих результатов.

Демонстрацию декодировщика H.264, который развивается под кодовым именем Broadway, можно посмотреть на данной странице. Код проекта опубликован на GitHub. Для запуска декодировщика достаточно клонировать Git-репозиторий Broadway и открыть файл Demo/broadway.html в свежей ночной сборке Firefox, в состав которой недавно включен улучшенный анализатор типов, существенно ускоряющий работу встроенного в JavaScript-движок JIT-компилятора. Обычно, JavaScript-код полученный после компиляции Emscripten отстаёт от первоначального варианта на языке Си в 3-4 раза. Новая техника оптимизации в JIT-компиляторе Firefox позволила сократить данный разрыв.

Майк Шевер (Mike Shaver), один из основателей проекта Mozilla, привёл Broadway в пример, показав как используя новые техники оптимизации удалось достигнуть того, что ранее считалось невозможным. В отличие от таких методов, как использование Flash или GoogleNative Client для выполнения требующих интенсивных вычислений блоков кода или предложений по замене JavaScript на языки подобные Google Dart, в Mozilla просто пытаются сделать JavaScript более быстрым. Для этого, с одной стороны вносятся новые оптимизации в JavaScript-движок, а с другой - добавляются новые возможности языка, такие как бинарные массивы, жёстко структурированные типы, поддержка распараллеливания с задействованием инструкций SIMD, улучшение средств для прямого обращения к ресурсам GPU.


Источник: opennet.ru

  1 ноября 2011 455
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 4 и 19*:            


Хостеры (2472)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)




Отправить сообщение администратору

Сумма чисел 16 и 8*:


Яндекс цитирования
сообщить о неточности