Pull to refresh
16K+
3

User

26
Rating
1
Subscribers
Send message

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

При этом мультиплатформенность Tauri означает не «один EXE запускается везде», а возможность сделать отдельные сборки под разные ОС. На Windows Tauri использует WebView2, а на Linux — WebKitGTK. Linux-версию всё равно нужно отдельно собирать, упаковывать и тестировать.

Если дойдём до поддержки Linux, обязательно сделаем нативную сборку и проверим её на практике. Спасибо, за идею.

ну у меня кстати такие мысли уже есть!

Если программа была бы только иконкой в трее, красивый интерфейс действительно не имел бы большого смысла. Но БОЛТУН всё же открывают для создания комнат, настройки микрофона, автокалибровки и громкости участников. Во время игры он должен сворачиваться и не мешать.

Новый интерфейс мы рассматриваем не столько ради красоты, сколько из-за сопровождения: старое окно разрослось до 6000+ строк, а каждая новая функция и поддержка DPI стали обходиться всё дороже.

По поводу памяти полностью согласен. Для приложения, работающего рядом с игрой, даже 200 МБ в простое могут стать причиной отказаться от Tauri. Поэтому мы и не утверждаем, что он легче Win32, пока нет замеров. Сравним обе версии на одной машине: потребление RAM и видеопамяти, CPU в простое, запуск из трея и работу с открытым окном.

10 МБ у Mumble — отличный ориентир, хотя для честного сравнения нужно смотреть одинаковые показатели памяти. Если WebView окажется слишком дорогим, никакой красивый интерфейс это не оправдает. Именно поэтому пока всё происходит в отдельной тестовой ветке.

Для нас сама зависимость от политики Windows и модели распространения всё равно стала одним из минусов WinUI 3. Хотя Tauri тоже не даёт полной независимости: в Windows он использует WebView2. Поэтому главное для нас — сохранить голосовое ядро на C++ отдельно от оболочки.

вы обходом дискорд пользуетесь, и по 2 раза на день обновляетесь, более того обходы тормозят трафик и снижают fps/ так, что в нашем лесу мы куда более продвинулись ваших гор!

В целом согласен: дисковый ввод-вывод вообще не должен находиться в горячем аудиопотоке. Асинхронный writer с ограниченной очередью был бы наиболее чистым решением: если очередь переполнена, теряем строку диагностики, а не голосовой кадр.

Но описанная в статье ошибка возникла не на Linux-сервере. Блокирующие std::ofstream::open, запись и std::endl выполнялись в Windows-клиенте непосредственно в аудиотракте. Мы сначала применили прагматичное исправление: оставили файл открытым, убрали постоянный flush, сократили частоту событий и стали писать пачками. Следующий правильный шаг здесь именно отдельный поток журналирования с bounded queue, а не io_uring.

Серверный координатор написан на Go. Сетевой ввод-вывод там проходит через netpoller рантайма, который на Linux использует epoll, поэтому напрямую работать с io_uring нам пока нет необходимости.

И небольшое уточнение: POSIX AIO в Linux всё-таки доступен через glibc, хотя его реализация основана на пользовательских потоках, имеет ограничения и действительно не всегда даёт то, чего ждут от полноценного kernel AIO. Спасибо за замечание: в статье стоило чётче разделить клиентский файловый I/O и серверный сетевой тракт.

Да, Stoat можно было использовать, и это вполне нормальный вариант. Особенно плюс за открытый код, самостоятельное размещение и Linux.

Но наша задача была немного уже: голосовые комнаты без регистрации и почты, быстрый вход команды, PTT, игровой оверлей, одинаковая работа Windows, Android и браузера, персональная громкость и собственная настройка передачи голоса. Плюс нам был интересен сам путь разработки продукта под нашу команду, а не только получение готового чата.

У self-hosted Stoat тоже есть нюанс: в официальной документации указано, что сейчас не все официальные клиенты полноценно поддерживают сторонние серверы, лучше всего работает веб-клиент/PWA. Но проект интересный, спасибо, изучим его внимательнее.

По СОРМ замечание справедливое. Бесплатность сама по себе не отменяет возможных требований законодательства. Мы не собираемся делать вид, что этого вопроса нет: перед масштабированием или коммерциализацией обязательно разберём правовой режим с профильными специалистами. Пока БОЛТУН остаётся бесплатным развивающимся проектом. Linux у нас тоже в планах.

подтверждаю, схема самая рабочая

а я купил 3 аккаунта по 20баксов, по объему токенов выходит тоже что и один за 200...значит я сэкономил еще больше)))))

Information

Rating
331-st
Registered
Activity

Specialization

Фулстек разработчик, Разработчик мобильных приложений
Стажёр
Управление проектами