Первый запуск эмулятора UKNCBTL в виде WebAssembly. Цвета пока не те что нужно, буду разбираться.
WebAssembly (wasm) это такая бинарная сборка, которая может запускаться в браузере -- из JavaScript можно вызывать её методы, которые по идее работают быстрее чем в JS. Компилировать в wasm сейчас можно из C/C++/Rust, в перспективе будет и из других языков. Поддержка wasm есть в Chrome и Firefox.
По скорости -- поигрался с ключами оптимизации для компилятора, после этого работает со скоростью реала при пропуске каждого второго кадра (12.5 кадров в секунду) -- на моей машине. На той же машине обычный UKNCBTL выдаёт 800% от реала. В общем, разница в производительности примерно на порядок.
UPD: Посмотреть на демо можно тут:
https://nzeemin.github.io/ukncbtl-wasm