Оригинал материала: https://3dnews.kz/170199

Реален ли 3D звук в современных играх?

Автор: Миргородский Максим


Более двух лет назад компания Creative выпустила на рынок свою революцию в виде "Sound Blaster Live!". Удивительно, но и по сей день эта фирма не отправила на конвейер ничего, кроме модификаций к своей "жизненной" звуковой карте. Уже полгода как нет Aureal, представляющего когда-то конкуренцию Creative. Как результат - цена на SBLive за последний год практически не изменилась. Самый недорогой представитель семейства - SBLive Value сегодня, как и 12 месяцев назад, стоит около 50$. Вот они, последствия монополизма. Но статья не об этом. В далеком 1998 Creative говорила всем, мол, скоро разработчики начнут поддерживать все чудеса 3D звука, скоро игры "оживут" и вы будете со стула падать при рыке монстра сзади. Стали ли разработчики поддерживать эти звуковые вкусности? Качественна ли эта поддержка? Можно ли позволить себе quadro звук и сколько ресурсов центрального процессора при этом кушается? С этим мы и попытаемся сейчас разобраться.

В этой статье я также хотел бы показать, какой выигрыш в производительности можно получить от замены звуковой карты. Иными словами, насколько она загружает процессор. Для сравнения использовалась Yamaha 719 на ISA шине, как наиболее распространенная сегодня карточка.

Тестовый стенд:

  • Процессор: AMD Duron 650Mhz;
  • Материнская плата: Giga-Byte GA 7IXE4 (чипсет AMD 750);
  • Память: 128Mb PC100 SDRAM;
  • Видео карта: ASUS v3800PRO tv in/out (overclocking 210/180 память/чип);
  • ЖМД: 13,6Gb Fujitsu MPE 3136AH;
  • Звуковые карты: Creative Sound Blaster Live! Value (model: CT4830), Yamaha 719 ISA;
  • Операционная система: MS Windows MEfinal release build 3000.

Для Sound Blaster Live использовались самые свежие драйверы на момент написания статьи, котированные 04-18-2000. Версию для Windows ME можно скачать отсюда.

Сначала разберемся со стандартами 3D звука, которые поддерживает SBLive!. Во-первых, это DirectSound3D. DS3D - один из компонентов DirectX, отвечающий за формирование объемного звука. Вкратце о нем можно сказать так: разработчик задает множество параметров звуковому потоку, после чего мы его можем слышать в "объеме" (среди этих параметров есть громкость звукового источника, его координаты в пространстве, зависимость уменьшения громкости от увеличения расстояния между слушателем и источником, и т.д.). EAX (Environmental Audio eXtensions) - расширение DS3D. Оно позволяет создавать эффекты типа эха в коридорах и замках, "мокрого звучания" под водой, приглушенности в открытых помещениях. На самом деле, разработчик выбирает среду из многих десятков вариантов, что делает звук гораздо реалистичнее. Так же используется такое понятие, как "препятствия" (это уже EAX2). Согласитесь, звук, расположенный за кирпичной стенкой, будет слышен несколько иначе, чем если бы он был расположен за деревянной перегородкой. Теперь перейдем к тестам.

Для тестирования были отобраны несколько очень популярных игр выпуска 1998-2000 года.

Half-Life

HL сделана на движке Quake2. EAX поддерживается. Этой игре более двух лет... В свое время это был 100% хит. Все очень добротно: как положено, в коридорах эхо, откуда рычит монстр можно понять без труда.

Для тестов я записал демку. Прогонялась она командой "/timedemo имя_файла". Теперь о скорости:

 Half-life

Видно, что 3D звук далеко не бесплатен. Падение скорости 24%. Ну и какой камикадзе будет ставить эту фичу, имея слабый процессор? Если честно, меня очень удивила потеря 24% с EAX... Ведь тестовый процессор был далеко не самым слабым... Но я вполне комфортно играл в Half-Life и на K6-2 350, который в 3 раза медленнее Duron'а (речь идет о HL). Получается, что 24% от последнего означает 70-80% от K6-2? Абсурд! Что служит причиной такой нестыковки - для меня до сих пор остается загадкой. Между тем, если забыть о 3D звуке, система с SBLive! опережает систему с Yamaha 719 на 12%. Довольно неплохой результат.

Unreal Tournament

Движок, ясно дело, взят из Unreal и основательно переработан. Есть поддержка "Hardware 3d sound" и "Surround Sound". В реали 3D выполнен, в общем, неплохо. Немного подкачал EAX, который услышать мне не удалось. Скорее всего, это обыкновенная халатность разработчиков.

Первым делом хочется отметить плохую систему бенчмарка в UT, которая показывает каждый раз разные результаты, причем с ощутимым разбросом. Из-за этого демку пришлось прогонять по 5 раз, выбиралось наибольшее значение. После каждого изменения настроек игра перезагружалась (т.к. у меня не получилось найти аналога Quake команде "/snd_restart". Система команд у Q3 и UT совершенно разные, что иногда раздражает. Демки записывались с помощью "demorec имя_файла" и воспроизводились командой "demoplay имя_файла". Детализация текстур мира и скинов ставилась на минимум. Посмотрим на результаты:

 Unreal Tournament

Сам факт 3D звука убивает около 17% FPS. Качество не влияет на скорость. Yama отстает на те же 17%.

Quake 3 Arena

После релиза этого сетевого 3D-action'а прошло уже больше года. С того момента вышло огромное кол-во патчей. Была протестирована последняя версия игры на момент написания статьи - 1.27g.

Поддержка квадро в данном конкретном случае ужасна (если она вообще есть). БОльшая часть звуков в задних колонках не слышна вообще. Качество выводимого за спиной звука просто не поддается описанию (8 или 11кГц). В общем, не 3D звук, а мука. Впрочем, все это барахло можно отключить драйвером, 3D исчезнет вообще... Просто-напросто в передних и задних колонках звук будет совершенно идентичен.

Стоит отметить отсутствие в версии 1.27g кнопочки "A3D". Поэтому никакие эмуляторы A3D для Sound Blaster Live! не работают. По этой причине новая версия была с радостью снесена и поставлена 1.17. На ней хоть можно протестировать эмулятор A3D. Качество выводимого эмулятором позиционирования отлично. Когда мимо ушей пролетает ракета, душа в пятки уходит. И все бы хорошо, если бы не одно "но". Примерно половина звуков не слышна вообще. Т.е. один и тот же звук можно услышать, а можно и не услышать. Происходит это оттого, что количество каналов при эмулировании ограничивается значением 2 или 4. Данный факт сводит на "нет" все удовольствие от A3D. Хотя, на мой взгляд, с фичей все же лучше, чем дублирование. В общем, id можно смело обругать, звуковое ядро сделано хуже не придумаешь.

Графические настройки были следующими:

Lightling

Lightmap

Geometric Detail

Medium

Texture Detail

1

Texture Filter

Bilinear

Скорость замерялась командой "/timedemo 1"; звук отключался с помощью "/s_initsound 0" + "/snd_restart". Скорость вы можете увидеть на этом графике:

 Quake 3

Абсолютно ясно, что эмулировать A3D на слабом процессоре не удастся. Падение производительности просто катастрофично. 30% от такого мощного камешка, как Duron 650 - это слишком много. Впрочем, когда узким местом, сдерживающим скорость, в игре является видео карта, занятость процессора не так важна. Прирост производительности относительно Yamaha 719 равен 17%, что само по себе неплохо.

American McGee Alice

Самая свежая игра в обзоре. В ней используется движок от Quake 3, однако звуковая система полностью переработана. Поддерживается и A3D, и EAX и, даже, EAX 2. Поддержка 3D звука сделана блестяще! Кроме того, отлично реализована и поддержка EAX2. Так, под водой звуки приобретают "мокрое" звучание, а в коридорах слышится эхо... В общем, Rogue постарались на славу. Id есть чему у них поучиться!

Специально для тестов мной была записана демка (карта - BEYOND THE WALL). Консольные команды идентичны оным из Quake 3 (правда, символ "/" ставить не надо). Тестирование проводилось со следующими настройками:

FULLSCREEN on
TEXTURE DETAIL 1
DETAIL TEXTURES off
SOUND QUALITY 44khz
FORCE 8 BITS off

Посмотрим на скорость:

 American McGee Alice

Здесь мы видим огромную потерю в скорости при включении звука как такового и небольшое замедление при включении EAX2 и Quad. Странно как-то получается. Разные игры дают совершенно разные результаты. И самое интересное то, что лучшее качество поддержки EAX и 3D sound как раз у Alice. А теперь самое интересное. SBLive! увеличивает скорость аж на 38%! Абсолютный рекорд! Даже если включить 3D звук, скорость будет выше 719 без оного на 26%! Ну что тут можно еще сказать? Теперь абсолютно ясно, что виноваты в низкой скорости других игр исключительно разработчики. Хвала и лавры Rogue! Именно благодаря им мы можем сейчас говорить, что EMU10K1 оправдал возложенные на него надежды.

Думаю, этих игр будет достаточно, чтобы показать скорость 3D звука и сравнить Yamaha 719 & Live!. Теперь несколько хитовых произведений, в которых замерить скорость по тем или иным причинам не возможно. Слева в таблице написано название игры, а справа идет субъективная оценка:

0 - поддержки нет.
1 - поддержка есть, но выполнена она на довольно посредственном уровне.
2 - поддержка на среднем уровне
3 - поддержка на высоком уровне
4 - круто!

NEED FOR SPEED 3/4/5 2
TRESPASSER 4
Star Wars EP1: RACER 2
Soldier of Fortune 3
NHL 2001 2
Midtown Madness 1/2 0
Insane 0
Sacrifice 2

Кто-то из вас наверняка удивится, увидев поддержку Surround Sound в "NHL 2001". На самом деле, все очень просто: игровые звуки идут из передних колонок, а трибуны ревут сзади. Разумеется, во время off-play настоящий 3D звук дает о себе знать.

Стоит сказать, что недавно вышел патч для "Soldier of Fortune", который добавляет в игру еще больше EAX эффектов. Вообще, рекомендую посещать сайт http://eax.creative.com. Там можно найти патчи к играм, приносящие поддержку EAX.

Пара слов о демках возможностей SBlaster Live!. Тут все просто на высоте. Действительно, чувствуется звук вокруг! Эффекты Environmental Audio слышатся великолепно! В общем, все проблемы качества 3D звука в играх можно смело свалить на разработчиков игр.

Чтобы поднять дух, вопреки всем правилам, после практики - о теории. Audio WinBench 99. Тестовый пакет проигрывает некоторое количество звуков разного качества в определенном режиме, замеряя при этом степень загрузки процессора (звук слышен реально из колонок, поэтому этот тест с трудом можно назвать синтетическим). В графике приведены проценты занятости ЦП, поэтому меньший результат соответствует лучшей звуковой карте.

 Audio WinBench 99

Вот оно. То, что так хотелось видеть в реальных играх... Максимальная загрузка процессора на карте от Yamaha равна 8%; на Live! 2,8%. Все-таки, этот тест синтетический...

Выводы:

Сегодня фичи Creative поддерживает около 70% выходящих игр соответствующих жанров. Другой вопрос - качественна ли эта поддержка? Я могу сказать одно: после 9 месяцев общения с этой звуковкой я понял, что играть теперь без нее просто не могу.

Относительно скорости, все еще больше запутано. От 9 до 24 процентов Duron'а 650 придется отдать для 3D звука. Если его отключить, то апгрейд с Yamaha 719 даст около 17-40%. В условиях фактического монополизма Creative и, как следствие, отсутствия спада цен, а, так же, при учете всех остальных вкусностей Live!, смело можно искать деньги и бежать в магазин. Лучшей звуковой карты для геймера в ближайшее время не предвидится.

Дополнения:

Ну вот, не успел я написать эту статью, как вышел патч для Unreal Tournament, улучшающий поддержку EAX эффектов (для самых нетерпеливых: http://eax.creative.com/eagle/unreal). Должен сказать, что впечатления он оставил у меня самые приятные! Блестящая поддержка EAX и еще более блестящее позиционирование! Теперь действительно местонахождение врага можно понять по звуку. Более того, патч увеличивает и скорость игры. По моим замерам получилось 37.52fps с включенным на максимум качеством и галочками на "Hardware 3d sound" + "Use surround sound". В общем, еще одна прекрасно поддерживающая фичи Creative игра.



Оригинал материала: https://3dnews.kz/170199