В этой статье я также хотел бы показать, какой выигрыш в производительности можно получить от замены звуковой карты. Иными словами, насколько она загружает процессор. Для сравнения использовалась Yamaha 719 на ISA шине, как наиболее распространенная сегодня карточка.
Тестовый стенд:
Для Sound Blaster Live использовались самые свежие драйверы на момент написания статьи, котированные 04-18-2000. Версию для Windows ME можно скачать отсюда.
Сначала разберемся со стандартами 3D звука, которые поддерживает SBLive!. Во-первых, это DirectSound3D. DS3D - один из компонентов DirectX, отвечающий за формирование объемного звука. Вкратце о нем можно сказать так: разработчик задает множество параметров звуковому потоку, после чего мы его можем слышать в "объеме" (среди этих параметров есть громкость звукового источника, его координаты в пространстве, зависимость уменьшения громкости от увеличения расстояния между слушателем и источником, и т.д.). EAX (Environmental Audio eXtensions) - расширение DS3D. Оно позволяет создавать эффекты типа эха в коридорах и замках, "мокрого звучания" под водой, приглушенности в открытых помещениях. На самом деле, разработчик выбирает среду из многих десятков вариантов, что делает звук гораздо реалистичнее. Так же используется такое понятие, как "препятствия" (это уже EAX2). Согласитесь, звук, расположенный за кирпичной стенкой, будет слышен несколько иначе, чем если бы он был расположен за деревянной перегородкой. Теперь перейдем к тестам.
Для тестирования были отобраны несколько очень популярных игр выпуска 1998-2000 года.
HL сделана на движке Quake2. EAX поддерживается. Этой игре более двух лет... В свое время это был 100% хит. Все очень добротно: как положено, в коридорах эхо, откуда рычит монстр можно понять без труда.
Для тестов я записал демку. Прогонялась она командой "/timedemo имя_файла". Теперь о скорости:
Видно, что 3D звук далеко не бесплатен. Падение скорости 24%. Ну и какой камикадзе будет ставить эту фичу, имея слабый процессор? Если честно, меня очень удивила потеря 24% с EAX... Ведь тестовый процессор был далеко не самым слабым... Но я вполне комфортно играл в Half-Life и на K6-2 350, который в 3 раза медленнее Duron'а (речь идет о HL). Получается, что 24% от последнего означает 70-80% от K6-2? Абсурд! Что служит причиной такой нестыковки - для меня до сих пор остается загадкой. Между тем, если забыть о 3D звуке, система с SBLive! опережает систему с Yamaha 719 на 12%. Довольно неплохой результат.
Движок, ясно дело, взят из Unreal и основательно переработан. Есть поддержка "Hardware 3d sound" и "Surround Sound". В реали 3D выполнен, в общем, неплохо. Немного подкачал EAX, который услышать мне не удалось. Скорее всего, это обыкновенная халатность разработчиков.
Первым делом хочется отметить плохую систему бенчмарка в UT, которая показывает каждый раз разные результаты, причем с ощутимым разбросом. Из-за этого демку пришлось прогонять по 5 раз, выбиралось наибольшее значение. После каждого изменения настроек игра перезагружалась (т.к. у меня не получилось найти аналога Quake команде "/snd_restart". Система команд у Q3 и UT совершенно разные, что иногда раздражает. Демки записывались с помощью "demorec имя_файла" и воспроизводились командой "demoplay имя_файла". Детализация текстур мира и скинов ставилась на минимум. Посмотрим на результаты:
Сам факт 3D звука убивает около 17% FPS. Качество не влияет на скорость. Yama отстает на те же 17%.
После релиза этого сетевого 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". Скорость вы можете увидеть на этом графике:
Абсолютно ясно, что эмулировать A3D на слабом процессоре не удастся. Падение производительности просто катастрофично. 30% от такого мощного камешка, как Duron 650 - это слишком много. Впрочем, когда узким местом, сдерживающим скорость, в игре является видео карта, занятость процессора не так важна. Прирост производительности относительно Yamaha 719 равен 17%, что само по себе неплохо.
Самая свежая игра в обзоре. В ней используется движок от 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 |
Посмотрим на скорость:
Здесь мы видим огромную потерю в скорости при включении звука как такового и небольшое замедление при включении 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. Тестовый пакет проигрывает некоторое количество звуков разного качества в определенном режиме, замеряя при этом степень загрузки процессора (звук слышен реально из колонок, поэтому этот тест с трудом можно назвать синтетическим). В графике приведены проценты занятости ЦП, поэтому меньший результат соответствует лучшей звуковой карте.
Вот оно. То, что так хотелось видеть в реальных играх... Максимальная загрузка процессора на карте от Yamaha равна 8%; на Live! 2,8%. Все-таки, этот тест синтетический...
Относительно скорости, все еще больше запутано. От 9 до 24 процентов Duron'а 650 придется отдать для 3D звука. Если его отключить, то апгрейд с Yamaha 719 даст около 17-40%. В условиях фактического монополизма Creative и, как следствие, отсутствия спада цен, а, так же, при учете всех остальных вкусностей Live!, смело можно искать деньги и бежать в магазин. Лучшей звуковой карты для геймера в ближайшее время не предвидится.