Re[17]: #огда коту нечего делать- он пишет sudo на Rust
От: dsorokin Россия  
Дата: 20.06.25 05:44
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Я не специалист в wasm ни разу .


Аё>Хз. Возможно, придётся вручную отделить код многопоточки в отдельные скрипты (или отдельные wasm). Для браузера WebWorker- это как отдельное приложение без доступа к DOM, близкая аналогия- как если приложение крутит другое, консольное, в фоне и обменивается собщениями через cin-cout.

Аё>У WebWorker вначале подписываешься на сообщения от хоста. Хост подписывается на сообщения от web worker. Я делал обёртку на хосте, которая регистрировала что на что отвечает. Естественно, что любой обсчёт на хосте должен успеть между 2 кадрамм- поэтому ни в коем случае ничего с циклами не считать. Просто заворачиваешь посылку отправляешь в web worker- как если бы отправлял на бек.

Аё>Собирать wasm мне не довелось Там, где opencv забыла пометить метод в экспорт в wasm- скопипастил код из исходника C++ в код Typescript, благо метод небольшой, на производительности не сказалось.


Что многопоточный wasm сам по себе, а однопоточный dom тоже сам по себе — это я в курсе. Значит, с .NET в контексте blazor ты не сталкивался.

Сейчас у меня две печали по этому вопросу. Может быть, кто-то сталкивался.

Во-первых, после обфускатора Obfuscar в веб-браузере не грузится клиентский код. Возможно, что дело в самом обфускаторе. Вчера попадались ссылки, где для этого используют другие обфускаторы. И вроде как может заработать.

Во-вторых, даже без AOT мое веб-клиентское приложение раздувается до мегабайт 70. С AOT — где-то до 100 мегабайт. Да я так замучаюсь платить хостеру за трафик! Причем, в чистом виде инсталятор десктопной версии с WPF у меня весит всего-то мегабайт 11, а это у меня самая навороченная и производительная версия.

Круто, конечно, когда программу не нужно устанавливать, что она может сразу загрузиться и запуститься. Однако возникает большой вопрос в целесообразности идти этим путем
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.