@AndreyMasalov

Можно ли код на Babylon.js скомпилировать в WebAssembly?

Здравствуйте.

Я занимаюсь разработкой 3D игры с использованием фреймворка Babylon.js. Данный движок я выбрал потому, что код пишется на языке JavaScript (я хорошо знаком только с ним) и есть поддержка мобильных устройств. К тому же данный движок очень легкий. В ходе разработки я столкнулся со следующей проблемой. По мере увеличения проекта, сцена с 3D объектами начала выдавать низкий FPS. Нашел информацию, что решить данную проблему можно с использованием WebAssembly. Вопрос: Можно ли каким-то образом перенести код с JavaScript в WebAssembly?
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
WebAssembly предполагает, что ваш исходный код написан на строго типизированном языке. Поэтому транслятор js => wasm мы увидим не скоро. Думаю, что чтобы ускорить ваш проект, сначала всё-таки нужно выявить узкие места. Если они будут связаны с вашим кодом, то можно будет отдельные его части переписать, скажем, на Rust с трансляцией в wasm.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
mindtester
@mindtester
http://iczin.su/hexagram_48
формулируйте вопросы проще, к примеру js to wasm?

ps при этом проблема может быть не в движке а в архитектуре вашего приложения
Ответ написан
@MaxGraey
Не обязательно переписывать узкие места на Rust, который не так уж и прост в особенности для web-разработчика. Например можно относительно просто портировать на AssemblyScript (надмножество Typescript которое компилируется в WebAssembly). При том, что такие работы даже уже ведутся в этой ветке (пока только для математики): https://github.com/vtange/Babylon.js/commits/math2wasm

Так же можно почитать дискуссию тут:
https://github.com/BabylonJS/Babylon.js/issues/324...

Но как человек знакомый с AS могу сказать, что там можно сделать намного эффективнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект