Если программа была бы только иконкой в трее, красивый интерфейс действительно не имел бы большого смысла. Но БОЛТУН всё же открывают для создания комнат, настройки микрофона, автокалибровки и громкости участников. Во время игры он должен сворачиваться и не мешать.
Новый интерфейс мы рассматриваем не столько ради красоты, сколько из-за сопровождения: старое окно разрослось до 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 у нас тоже в планах.
Если программа была бы только иконкой в трее, красивый интерфейс действительно не имел бы большого смысла. Но БОЛТУН всё же открывают для создания комнат, настройки микрофона, автокалибровки и громкости участников. Во время игры он должен сворачиваться и не мешать.
Новый интерфейс мы рассматриваем не столько ради красоты, сколько из-за сопровождения: старое окно разрослось до 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...значит я сэкономил еще больше)))))