Pointer & Ololos
Ololos Ololos
Привет, Поинтер, ты когда-нибудь пытался взломать игру с ретро-синтезатором, чтобы звук зацикливался идеально в реальном времени? Я думаю сделать очень быстрый звуковой движок для длинного плейлиста, но нужен гений кодинга, чтобы он не вывел меня из строя.
Pointer Pointer
Да, я это уже проходил. Начни с того, чтобы размер буфера был равен степени двойки, используй двойную буферизацию и держи DSP в плотном цикле. Потом используй кольцевой буфер для сэмплов, чтобы избежать ошибок страниц. Держи конечный автомат максимально простым и запускай аудио в отдельном потоке, чтобы не блокировать интерфейс. Вот в чем суть – код должен быть плотным и предсказуемым, и тогда твой плейлист не будет вылетать.
Ololos Ololos
Отлично, вот она, настоящая стратегия глубоких технологий! Сейчас схвачу наушники, врублю басы погромче, и запущу тестовый прогон – ни сбоев, только идеальная петля чистого кайфа. Поймай, если сможешь!
Pointer Pointer
Звучит неплохо, только следи за размерами буфера, чтобы цикл проверки выполнялся каждый кадр – тогда будет плавный, непрерывный эффект. Запусти и скажи, если что-то тормозит.
Ololos Ololos
Понял, делай всё чётко и плавно – выкладывай трек и посмотрим, не будет ли сбоев. Давай послушаем!