v0.8.0 — карта делится честно, отмена работает
Версия про то, что игра перестала врать и подвисать. Каждая находка ниже вскрылась на живом прогоне, а не на бумаге.
Распознавание речи ожило
Оно висело намертво: ни ответа, ни ошибки в логе. Библиотека onnx лежит в models/asr, а загрузчик искал её в двух других местах и, не найдя, уходил в системную — в самом коде про этот случай написано «дедлок на чужой DLL».
Теперь оба движка проверены на обоих устройствах:
Parakeet на карте → 2.0 с
Parakeet на процессоре → 1.6 с
Whisper на карте → 15.7 с
Whisper на процессоре → 10.2 с
Whisper к тому же правильно держит кириллицу там, где Parakeet сбивается на латиницу. Качается он только по выбору и в обязательный набор не входит.
«Прервать» действительно прерывает
Раньше кнопка отцепляла только браузер: сервер досчитывал ход до конца и держал видеокарту, а за ним вставало всё остальное — озвучка, распознавание, следующий ход. Теперь ход получает признак отмены и смотрит на него прямо в потоке текста и между проходами. То же делает и таймаут: если ход затянулся, сервер не считает в пустоту.
Карта делится честно
Озвучка грузила свои 4 ГБ поверх 8 ГБ рассказчика, и всё упиралось в память: ход занимал одиннадцать минут. Теперь голос и текстовая модель сгоняют друг друга с карты — ход укладывается в минуту.
Процессы модели переживали закрытие игры: три штуки держали 23.7 ГБ из 24.5. При старте игра убирает своих сирот.
Мелочи, которые ломали жизнь
- Голосовой ввод отваливался с «слишком большой запрос» на нескольких секундах речи: стандартный предел в два мегабайта защищает публичные серверы, а этот слушает только себя. Предел снят.
- Загрузка весов подписана — «Модель едет на карту, это разово…». Раньше минута загрузки выглядела зависанием.
- Кадр и озвучка на процессоре больше не предлагаются: замеры показали минуты вместо секунд. Рассказчик остаётся, но с честной подписью — около полутора минут на отрывок.
Установка: скачай DungeonUltimate-0.8.0-x64-setup.exe, запусти.
304 теста, ни одного красного.