Змеиное масло нативного кода

За десятилетия Интернет превратился из тех первых дней статических HTML-страниц в быструю и надежную среду, способную имитировать и запускать игровые консоли, полные операционные системы и даже создавать потрясающие игры, такие как CrossCode, используя только обычный JavaScript. »- все в браузере.

Чаще всего кто-то упоминает, что из-за того, что что-то работает в браузере, оно работает медленнее, чем нативные решения. Поскольку мы такие колоссальные интернет-ботаники в Rainway, мы хотели воспользоваться этой возможностью, чтобы развеять некоторые заблуждения.

Интернет работает на собственном коде.

В основе Rainway лежат такие технологии, как WebRTC и WebSockets. Вы даже можете посмотреть исходный код нашей библиотеки WebRTC Spitfire и увидеть, что 86,2% всего кода - это C ++ (нативный код). Все сетевые операции в реальном времени выполняются на собственном уровне в браузере, и единственный момент, когда он перестает быть родным, - это когда данные полностью получены. Даже тогда наш код на основе JavaScript настолько эффективен; мы можем анализировать и обрабатывать данные менее чем за миллисекунду даже для такой сложной задачи, как видео в реальном времени.

Это подводит нас к следующему пункту.

Интернет имеет аппаратное ускорение.

Любой, кто говорит вам, что у него есть необычный или уникальный видеодекодер, не дает вам полной картины. В конце концов, выплата огромных лицензионных сборов для MPEG-LA не масштабируется, и единственный способ избежать этих сборов - использовать существующие API кодировщика / декодера OEM. Такие компании, как Google и Mozilla, потратили значительное количество времени и ресурсов на оптимизацию своего конвейера для этих аппаратных декодеров (которые все являются собственными), чтобы обеспечить максимальную производительность в браузере. Рендеринг видео с низкой задержкой в ​​одинаковой степени аппаратно ускоряется с использованием OpenGL или DirectX, в зависимости от системы.

Однако, если вам нужно дополнительное повышение производительности, есть еще один вариант.

Вы можете запустить собственный код в браузере.

Еще в 2013 году Mozilla могла обеспечивать производительность, близкую к нативной в Интернете. Однако всего за пять лет Интернет стал еще быстрее, и, используя современные методы, такие как WebAssembly, вы можете запускать собственный код, такой как C ++, C, C #, Rust и другие, внутри браузера. Мы используем WebAssembly в нашем следующем сетевом обновлении Coffee, чтобы обеспечить астрономический рост производительности в нестабильных сетях.

В заключение.

Мы не дискредитируем производительность нативного кода и стремимся использовать его, когда это необходимо, во всем нашем стеке, например в нашем предстоящем приложении для Android, которое будет полностью нативным. Крайне важно понимать, что нативный код не означает более производительный код, и, в конце концов, производительность сводится к талантам команды, стоящей за продуктом - и я хотел бы сказать, что у нас есть лучший из существующих.

Rainway - это веб-платформа для потоковой передачи игр, которая позволяет пользователям играть в свои любимые компьютерные игры где угодно и на различных устройствах. Наслаждайтесь такими играми, как Overwatch, Cuphead, PlayerUnknown’s Battlegrounds и многими другими, где угодно. Загрузить Rainway

Приходите работать с нами!

Присоединяйтесь к нашему Discord

"Следуйте за нами на Twitter"

Подписывайтесь на наш YouTube