Проект Mozilla и компания Epic Games продемонстрировали возможность использования Web-бразуера Firefox в качестве платформы для запуска современных 3D-игр в Web. В частности, представлены транслированные в JavaScript демонстрации игр Soul и Swing Ninja, основанные на движке Unreal Engine 4. Указанные демонстрации работают в Firefox без применения плагинов с производительностью близкой к нативным программам.

Приемлемой для запуска игр производительности удалось достичь благодаря применению Asm.js, низкоуровневого подмножества языка JavaScript со строгой типизацией. Наличие информации о типах позволяет использовать не только JIT, но и предварительную AOT-компиляцию, выполняемую для всего кода до начала его выполнения и генерирующую более простой и эффективный машинный код. Для вывода 3D-графики задействован WebGL. Трансляция игрового движка выполнена с использованием компилятора Emscripten, преобразующего код проектов с языков C и C++ в представление на языке JavaScript.

Внесённые за последние 12 месяцев оптимизации позволили заметно увеличить производительности web-приложений, использующих Asm.js. Производительность выполняемого в браузере кода в настоящее время составляет 67% от производительности нативных программ, в то время как год назад этот показатель составлял 40%. Отмечается, что реализация оптимизаций продолжается и будущем достигнутый результат будет улучшен.

Продемонстрированный уровень производительности открывает новые возможности для распространения современных 3D-игр в Web, для запуска которых достаточно web-браузера. Поставка игр через Web упрощает доставку игр до потребителей, делая их доступными через один клик по ссылке, расширяет спектр поддерживаемых платформ и снижает расходы за счёт упразднения лишних звеньев в цепочке распространения.

Источник: http://www.opennet.ru/opennews/art.shtml?num=39294