Демка Quake 3 вызвала нездоровую активность драйверостроителей и обозревателей железа. До сих пор на повестке стоит вопрос, как же оптимизировать скорость этой игры, чтобы все выглядело достойно, но при этом и шло прилично. Как известно, есть проблемы у карт Voodoo3, которые стараниями разработчиков 3dfx сведены почти ликвидированы, по крайней мере тот Voodoo3, что стоит сейчас на тестовой машине вполне шустро тянет эту игрушку. Но не так давно тестируя свеже-установленный браузер Opera, мне пришлось оказаться на сайте Thresh's Firing Sqad, созданный знаменитым на весь мир Трэшем. Если кто не знает, то это тот самый парень, которому на одном из соревнований по Quake достался красный Ferrari. В общем, личность знаменитая. Согласитесь, любопытно посмотреть его рекомендации. Ожидания меня не обманули, и удалось найти статью, которую вы сможете прочесть ниже. На 3DNews уже была материалы этой темы, но та была написана обычным квакером, а эта человеком с мировым именем, cfg файл которого входит в обязательный комплект поставки Quake1,2,3. С ним можно местами не соглашаться, но конечный результат твикинга потрясает, и все это без изысков в разгоне карт, и что же будет если...
Вы хотели бы получить в Quake на пару FPS побольше? А что вы скажете, если я расскажу как получить сотню лишних? Все знают, что просто так Quake3 не запустить, необходимо для начала походить по менюшкам и внести массу исправлений, прежде чем игра станет играбельной. Основной способ заставить игру идти быстрее - сделать ее страшной. Я говорю вполне серьезно, нам придется бегать по страшному уровню, прыгать в страшную воду и вообще смотреть на все страшное, и только после этого игра будет идти достаточно быстро. Конечно можно возразить, что основное в Quake3 - графика, но мы на Firing Squad ставим геймплей гораздо выше, а этот параметр, как известно, не сильно зависит от графики.
Мы запустили несколько Timedemo на разных графических режимах. Сначала делали это на нашем P3-500 с Voodoo3 3000, а затем поменяли эту карту на Hercules TNT2 Ultra.
Не думайте, что это настоящее сравнение Voodoo3 с TNT2 Ultra. Мы не разгоняли V3 и всем известно, что текущие версии драйверов не слишком хорошо тянут Q3Test.
Известно, что timedemo в Quake3 работает совершенно не нормально, но нам удалось найти способ получить результаты теста. Вы заметите неработоспособность теста когда запустите демонстрацию q3test1 и компьютер как бы зависнет на некоторое время, и после окончания демонстрации результат будет занижен.
Этот результат нельзя использовать при профессиональном сравнении, но вот в качестве простого замера скорости карт, он вполне подойдет. В нашем случае мы сравнивали производительность при включении/выключении разных эффектов.
Для каждого сравнения мы запускали Q3Test заново и выполняли в консоли комманду timedemo 1, после чего стартовали демонстрацию q3test1. Наш контрольный замер делался при стандартных настройках и отключенной опцией "sync every frame" (включение синхронизации с вертикальной разверткой).
По умолчанию TNT2 работал в 32-bit режиме, в то время как Voodoo3 в 16-bit. Мы изменяли каждый параметр отдельно и тестировали результат на обоих картах. После тестирования мы возвращали все на место и меняли другую опцию.
В этом меню находится первый комплекс настроек, изменяя которые по отдельности вы не получите большого прироста производительности, но комплексное изменение нескольких настроек сразу может серьезно ускорить игру.
Наш совет: включить
Эффекты стрельбы из plasmagun |
Следы после стрельбы пулеметом |
Включение меток на стенах оказывает негативное воздействие на производительность. Но этот эффект добавляет атмосферности, поэтому мы бы посоветовали его включить. Вы спокойно можете его выключить, если вам будет от этого спокойней, и если вам кажется что при этом ваш framerate выше, но в основном это чисто психологическая проблема.
Наш совет: отключить
Отключение динамического освещения дает огромный прирост производительности. Конечно все эти анимированные эффекты освещения выглядят приятно, но они же и насмерть убивают скорость. При отключении эффекта скорость demo1 возрасла с 71.3fps до 115fps на Voodoo3 и с 86.7fps до 142fps на TNT2.
Заметьте, как выглядит освещение от ракеты на правой картинке:
Источники освещения окружаются ореолом. Это делает их эффектно выглядящими, но это быстро надоедает. Ракеты, окруженные ореолом света занимают слишом много места на экране и мешают видеть противника. Можно включить ореол даже отключив динамическое освещение, но в игре вы ничего не увидите, пока не включите динамическое освещение обратно. Визуальный эффект ореола интересен тем, что если несколько источников освещения с ореолом пересекаются в одном месте, то яркость увеличивается. Это хорошо видно на картинке:
Плохо видно |
Добавочное освещение |
С включенным эффектом ореола результаты Voodoo3 изменились с 71.3fps до 70fps. На TNT2 скорость сменилась с 86.7fps до 84.2fps.
Наш совет: включить
Ты кто ?!
Результат включение этого эффекта вполне предсказуем - это никак не сказывается на производительности, зато сразу становится понятно, в кого вы стреляете.
Наш совет: небо оптимизированное для скорости (high speed)
Качественное небо тоже относится к эффектам, добавляющим атмосферу, но оно тоже замедляет игру. Учтите - результаты timedemo из demo1 вводят в заблуждение, так по тестам Voodoo3 начинает работать на 2fps быстрее, а TNT2 вообще никак не реагирует на изменение этого параметра.
Когда вы будете играть на карте q3test1, то поймете, что качественное небо замедляет игру. Если просто смотреть на небо, то при отключении текстуры на нем вы получите 15% прирост производительности. Использование качественного неба позволяет видеть происходящее за порталом, а отключение - не позволяет.
Буря на небе |
Ни облачка... |
Выбрать режим отображения неба не просто. Когда вы играете "на мясе", то лучше отключать его, так как скорость и без того сильно падает, но в дуэли частенько желается красивостей и поиметь возможности смотреть за портал - придется включить эффект.
Наш совет: отключить
Включение синхронизации привязывает вас к частоте обновления монитора. Как правило, даже большинство качественных мониторов может
показывать достаточное количество кадров, и можно оставить опцию выключенной.
Меню настроек графики содержат основные параметры настроек карты, с некоторыми расширенными опциями, которые в Q2 были доступны только в консоли. Теперь настройки качества текстур и вид фильтрации можно менять в прямо из меню.
Наш совет: fastest (оптимизировано для скорости)
Настройка графики имеет четыре пресета: high quality (высокое качество), normal (номальное качество), fast (быстро) и fastest (максимально быстро). Разные режимы меняют скорость игры, можно так же выбрать custom режим (ручные настройки), чтобы настроить опции по своему желанию.
Оптимизация на максимальную скорость как правило хороша для самой быстрой игры, но при этом качество текстур наиболее низкое. Устанавливайте этот полозок на минимальное значение, и будете нормально играть. Конечно всё будет страшноватеньким, но ведь скорость это главное :-). Играя в single-player вы становитесь туристом, изучающим достопримечательности, а в дезматче это излишне.
Пожалуй стоит описать оставшиеся опции для тех, кто хочет получить и прилично выглядящую игру.
Наш совет: 512x384
Разрешения 512x384 и 640x480 отличаются не сильно в плане скорости как на Voodoo3 так и на TNT2. При 800x600 TNT2 теряет около 2-3 кадров в секунду, а вот Voodoo3 падает с 71.3 до 61.2fps. Большинство современных видео карт могут менять разрешение между 512x384 и 640x480 без особой разницы в производительности, но 800x600 может обойтись слишком дорого.
Наш совет: 16-bit
32-bit или 16-bit? В наших тестах мы не заметили разницы между 640x48016-bpp и 640x48032-bpp. При этом разрешении количество кадров ещё не лимитируется скоростью оперативной памяти. Вы заметите падение в скорости при увеличении разрешения. Если вы собираетесь играть на более
высоких разрешениях - ставьте 16 бит. Вы можете конечно оставить и 32 bit, но 16-bit просто приятно в психологическом плане, потому что вы будете знать что у вас стоит наиболее быстрый из возможных режим.
Картинки практически идентичны, но при более внимательном изучении мы увидим что 16-ти битная картинка использует дизеринг. Влияет ли это на геймплей? Решайте сами.
16 бит с дизерингом |
32 бита - мягкий переход |
Наш совет: да
Q3test конечно можно играть в окне, но максимальной скорости не будет.
Наш совет: vertex
Послушай, ставь только vertex! Использование карт освещения (light maps) так же плохо, как и использование динамического освещения. Зачем тратить время на лишние проходы карты, когда и vertex довольно неплохо смотрится. Скорость на Voodoo3 поднимается с 71.3fps до 118fps, при переключении модели освещения, а у TNT2 скорость увеличивается с 86.7fps до 139fps.
Вершинная модель |
С картами освещения |
Наш совет: низкая детализация (low)
Настройки детализации геометрических моделей влияет на внешний вид оружия и архитектуры изменяя настройки кривых. Высокая детализация сделает ваше оружие красивым за счёт использования в моделях кривых, стены так же будут красиво искривлены. Низкая детализация заменит все кривые на прямые сегменты, оружие будет нарисовано с меньшей детальностью. На TNT2's framerate возрос до 101.4fps с 86.7fps при включении низкой детализации.
Низкая детализация |
Высокая детализация |
Наш совет: минимальное качество (lowest)
У разных карт разная скорость работы с качественными текстурами, но в основном самое умное решение - поставить минимальную детализацию. На Voodoo3 это прибавило 7fps. У него всего 16Мб локальной памяти, поэтому с большими текстурами он работает плохо. У TNT2 32Мб памяти, поэтому падение производительности не серьёзно.
Низкая детализация |
Высокая детализация |
Наш совет: используйте bilinear фильтрацию.
Билинейная фильтрация требует меньше ресурсов. Опять же при дохленьком 640x480 это не сильно напрягает карту. Как Voodoo3, так и TNT2 не теряли в скорости при переходе с билинейной на трилинейную фильтрацию.