Технология создания 3D звука

         

Игры



Игры

Качество звука в играх складывается из совсем других компонент, нежели при воспроизведении музыки. Как показала многолетняя практика, определяющую роль здесь играют алгоритмы микширования DS/DS3D-потоков и качество реверберации. Цифровой звук имеет неприятную особенность значительно терять в качестве при смешивании нескольких звуковых дорожек в исходном формате. При этом, более чем 3 звука, проигранные вместе без дополнительных к тому мер, сливаются в "звуковую кашу".

Отличный результат смешивания звуковых дорожек в профессиональном музыкальном софте достигается различными техническими ухищрениями: во-первых, высочайшим исходным качеством самых семплов, во-вторых, во избежание каши дорожки эквализуются, и в-третьих, вводится целый ряд дополнительных операций. Звуковые данные переводят в повышенную разрядность (32, 48 бит), затем применяются качественные алгоритмы микширования с последующим даунсемплингом с применением дизеринга и компрессии динамического диапазона. Если же добавить сюда наложение эффектов реверберации и объёмного звучания (позиционирования источников в пространстве), то весь этот обсчёт может занять пару часов на не самом слабом процессоре. То есть ни о каком расчёте в реальном времени речи тут не идёт.

Для игровых целей такой вариант не подходит, ведь звуковое оформление должно быть интерактивным. Более того, задержка при воспроизведении звука в играх не должна превышать 100 мс, иначе это становится заметно и сильно ухудшает восприятие. На практике, для звуковых потоков 16 бит 44,1 кГц задержка на мультимедийных картах с аппаратной поддержкой DirectSound/DirectSound3D составляет десятки миллисекунд, с программной - сотни. А ведь помимо микширования звуковому движку нужно сделать ещё кучу дел.

В реальности в большинстве случаев мы получаем мутноватую кашицу из звука с наложенным гулким эхом, что никак нельзя считать нормальным положением вещей. С другой стороны, качество исходных семплов в играх зачастую оставляет желать лучшего. Перекомпрессированные до ощутимых искажений звуковые данные 16 бит при частоте дискретизации 22 кГц, или даже 11 кГц. Но ведь все нестандартные (отличные от 16 бит 44.1 кГц) потоки данных перед микшированием нужно привести к одному виду. И тут в работу вступают алгоритмы преобразования частоты дискретизации (SRC - sample rate convertion). От их качества реализации также зависит очень многое. Нет проблем сделать качественный алгоритм. Зато есть проблема с ограниченными вычислительными ресурсами DSP на звуковой плате и требованиями по приемлемой задержке сигнала. В этом отношении лидерами пока остаются звуковые карты от Creative - Live!/Live!5.1/Audigy. Внутренний формат данных 32 бита плюс 8-точечная интерполяция по частоте дают очень разборчивый звук без потерь высоких частот. Далее идут карты на основе неплохих чипов CS4630 - Santa Cruz, Hercules GT XP/6.1 с 24-битным внутренним представлением данных. Семейство карт Philips находится где-то на этом же уровне и соответствует оценке "хорошо". И, наконец, самое плохое качество в этом плане у карт на слабых HSP-чипах, зачастую с задействованием программных алгоритмов DirectSound. Так что вопрос о целесообразности установки слишком качественных преобразователей на игровых звуковых картах не так уж и прост.

В природе также есть алгоритмы позиционирования источников звука в пространстве и пресеты окружения (динамическая реверберация). В этой области наблюдается необъятное поле битвы для различных маркетинговых баталий. Мы обойдём их стороной. К сожалению, в данный момент развитие API позиционирования и реверберации пошло по неправильному пути конкурирующих native API. Sensaura пытается "срубить капусту" на своих улучшайзерах MacroFX и нестандартных расширениях типа ZoomFX. В ответ на это Creative двинул EAX 3.0 aka EAX AdvanceHD, пока что не поддерживаемый никакими картами кроме Audigy. Всё это ведёт только к одному - игр под такие вычурные вещи либо не выйдет вовсе, либо поддержка вряд-ли будет подобающей.

Карты Philips имеют поддержку всех нужных API - EAX1.0/2.0 и I3DL2. Качество реверберации движка QSound Environmental Modeling - вполне приемлемое, но на любителя. Мне лично больше понравился звук без включения EAX, так как без реверберации он становится более чётким и ясным. С другой стороны, то, что не понравилось мне, может понравиться вам, и наоборот. Я бы лично отдал все 3D-звуки вместе взятые просто за хорошее качество семплов, возможность избежать SRC и качественное микширование каналов. В многоколоночной конфигурации для позиционирования лучшим способом остаётся стандартное для DS3D панорамирование. На двух колонках и в наушниках лучше всех звучит Sensaura. Движок QSound3Dinteractive в этих условиях также неплох, особенно аппаратная его реализация на картах Philips. Не вздумайте судить о качестве алгоритмов QSound по картам на чипе FM801AU, для которых до сих пор даже нет поддержки EAX в драйверах.

Глюков с текущими драйверами с сайта производителя под W98SE на этот раз замечено не было. Измерения падения fps в игре Serious Sam были проведены на компьютере с конфигурацией Athlon 1200 / 512 PC133 / GF3 Ti200.

В плане быстродействия разница между различными звуковыми картами на современном PC в играбельных разрешениях не стоит даже упоминания. Основным тормозом является звуковой движок игры. Разница между включенным и выключенным звуком для различных разрешений колеблется от 4% в 1024х768х32 до 6% в 640х480х16. При этом разница по fps для различных звуковых карт укладывается в погрешности измерений и находится в пределах 1%.

Попытки протестировать загрузку процессора в ZD Audio Winbench 99 приводят к появлению результата по загрузке 0% в любых режимах тестирования. Хороший был тест. Аминь...



Содержание раздела