Хакер #305. Многошаговые SQL-инъекции
Компания Epic Games выпустила новую версию известной демки Epic Citadel, которая демонстрирует потрясающие возможности современных веб-технологий. Сейчас Unreal Engine 3 портирован на HTML5 и JavaScript, а сама демка запускается через браузер, причём показывает впечатляющую производительность.
Специально для осуществления такой конвертации Epic Games разработала инструмент Emscripten, конвертер кода C/C++ на asm.js. В свою очередь, asm.js — подмножество JavaScript, созданное для реализации низкоуровневых функций и оптимизации, своеобразный «скриптовый ассемблер». За счёт этого Unreal Engine 3 на HTML5 работает вдвое быстрее прошлогодней демки, сделанной на флэше. Фактически, на JavaScript демка всего лишь вдвое медленнее нативной версии на C++.
Как видно на верхнем скриншоте, при разрешении 1920×1200 игра показывает 138,3 FPS. Впрочем, каждый может замерить производительность самостоятельно, запустив демку в браузере Firefox Nightly — единственном браузере с полной поддержкой WebGL и asm.js. Браузер Chromium тоже теоретически должен работать, но почему-то вылетает при запуске демки.