синдром демо : айдио на пейси

2013 год. "Нотебук" за 3.5 килобакса. И звуковуха могёт одновременно играть только 12 звуков! (max hardware voice count == 12).

Пришлось быстренько ваять систему приоритетов для звуков, ибо пропадание звуков от игрока (футстепы там или выстрел) — это неприкольно...

Submitted by BLK Dragon on

Комментарии

А кто-то ещё пользует аппаратный звук?
Простой вариант суммы флоатов с отсечением [0-1], и отдачей этого добра в хардварный буфер, не должно сильно пригрузить проц.

Submitted by Relyer on

 

Quote:

А кто-то ещё пользует аппаратный звук?
Простой вариант суммы флоатов с отсечением [0-1], и отдачей этого добра в хардварный буфер, не должно сильно пригрузить проц.

Простой факт: в PSP звуком занимается отдельный проц, такой же как основной цпу; вдумайся, половина консоли процессит звук — это к тому что всё это весьма ненулевое время занимает.

Ибо не просто сумма флоатов: как миниммум это декод (ADPCM или даже OGG/MP3), умножение (громкость по позиционированию) и потом сложение с клампом и, скорее всего, динамической компрессией диапазона. ADSR-envelope тоже нифига не фантастическая фича. Ну и DSЗ-фефекты типа ревера и прочего тоже добавляют вычислений.

В ZRun, например, порядка 30 звуков играется одновременно; можешь сам посчитать сколько нужно вычислений всё это довести до хврдвара. Ну и плюс не буду же я сам на ручной тяге писать всё это специально для пейси.

 

Submitted by BLK Dragon on
BLK Dragon wrote:
Простой факт: в PSP звуком занимается отдельный проц, такой же как основной цпу; вдумайся, половина консоли процессит звук — это к тому что всё это весьма ненулевое время занимает...

Ну надо же будет чем-то занять будущие 16-и ядерные процы по 3-4 гигагерца на ядро Smile

Submitted by Victor on
Quote:

Ну надо же будет чем-то занять будущие 16-и ядерные процы по 3-4 гигагерца на ядро

Обычному юзеру их нечем занять. Мне вот мой десктопный 6-ядерный проц с его 4Ггц в турбо-режиме пригодился только для быстрого пересчёта лайтмапов Smile

Submitted by BLK Dragon on

GameDev.by