Pull to refresh
8K+
3

User

9
Rating
1
Subscribers
Send message

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

Новый интерфейс мы рассматриваем не столько ради красоты, сколько из-за сопровождения: старое окно разрослось до 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
893-rd
Registered
Activity

Specialization

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