Опубликовано 05 декабря 2003, 00:33

Видеоускорители: чем тестировать?

Эта статья содержит краткий обзор всех программ, которые мы используем для тестирования видеокарт, а также краткое описание нашей методики их тестирования.

Процесс тестирования видеокарт, да и вообще любых железок, очень сложен, и для сохранения преемственности результатов очень важно соблюдение строгой последовательности всех действий и сохранение одинаковых условий тестирования. Эта статья – обзор всех тестовых программ, которые мы используем для тестирования, а также нашей методики тестирования. Она предназначена для начинающих тестеров, а также людей желающих разбираться в вопросе современной графической индустрии. Мы постарались максимально подробно описать наши алгоритмы тестирования и думаем, что этот материал будет вам весьма полезен. На эту статью будут вести ссылки практически из всех нашиз будущих материалов по видеоакселераторам.. Если мы будем обрастать какими-то новыми тестовыми программами или будут меняться сами алгоритмы тестирования, все изменения будут отображаться в этой статье. То есть, информация здесь будет постоянно обновляться и мы будем поддерживать актуальность этой статьи.

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

Очень часто у пользователей возникает один и тот же вопрос: почему на нашей конфигурации мы получаем один результат, а пользователь на точно такой же машине получает другой. Отвечаем – мы не знаем точно, почему это происходит в вашем случае, но уверяем вас, причин для этого масса. Результат на двух вроде бы одинаковых машинах ВСЕГДА будет различаться.

Наша тестовая станция не содержит в себе никаких конфликтов еще до установки туда операционной системы. То есть, все прерывания у нас привязаны к устройствам на уровне BIOS. Поддержка ACPI отключена. После каждого тестирования акселератора вся операционная система со всеми программами и тестами переустанавливается заново, с соблюдением точной последовательности всех действий. В случае тестирования ускорителя на разных версиях драйверов операционная система так же переустанавливается после каждой смены драйверов. Драйвер устанавливается в самую последнюю очередь, после установки DirectX 9.0b..

Драйверы

Драйверы, устанавливаемые с тестовыми целями, должны быть одобрены компанией Microsoft, то есть иметь WHQL сертификацию. Использоваться должна последняя версия доступного WHQL-драйвера от каждого производителя. Не оттестированные Microsoft драйверы могут не соответствовать принятым стандартам качества отображения графики, что может использоваться производителем для фальсификации тестовых результатов, так как при ухудшении качества картинки производительность возрастает.

Проблемы с оптимизацией драйверов. Заточки

В результате последних событий, связанных с тестовым пакетом  3DMark 03 от Futuremark (см. www.ferra.ru/online/video/25351/) под сомнение поставлены все основы тестирования ускорителей. Теперь есть неоспоримые факты грязной конкуренции меж гигантами 3D-индустрии. Компания Nvidia, достаточно долго занимавшая лидирующие позиции на рынке графических чипов, серьезно подмочила свою репутацию этим скандалом. С момента начала использования шейдеров для производителей чипов открылась очень серьезная возможность фальсификации результатов с помощью доводки драйверов.

Основной целью подобных фальсификаций являются результаты тестов, тех самых тестов, которые должны быть независимым показателем производительности. Фактически, можно уже с некоторой уверенностью говорить, что каждая следующая версия драйвера содержит в себе новую порцию заточек под недавно вышедшие более-менее известные программы. Нет, мы не страдаем паранойей – может, все не так плохо, но то, что дыма без огня не бывает, точно.

Остаются игры, довольно объективные тесты, производительность карт в которых «подкрутить» сложнее. Вот только игр под DirectX 9.0 пока достаточно мало, и почти все производители игр, которые собираются выпускать или уже выпустили игры с использованием возможностей современных графических акселераторов, находятся в напряженных отношениях с компанией Nvidia.

Но других тестовых пакетов у пользователей нет, и мы пользуемся тем, что есть, просто теперь имеем в виду, что результаты могут не соответствовать действительности. Да, мы понимаем, что эта фраза звучит примерно так же, как и фраза «Не верь глазам своим». Однако поделать ничего не можем, хотя, разумеется, будем пытаться докопаться до истины в каждом конкретном случае.

Как мы тестируем

Для тестирования видеоакселераторов мы используем следующие программы:

  1. 3D Mark 2001 SE Ver330
  2. Codecreatures Benchmark Pro
  3. Unreal Tournament 2003
  4. Unreal 2
  5. Doom III Demo
  6. SeriousSam 2
  7. Tomb Raider 5
  8. HALO
  9. Quake 3 Arena

3Dmark 2001 SE

3dmark.jpg

3dmark.jpg

Тип теста: синтетический, рельсовый, эмуляция игрового
Версия: 330 Patch
Используемый API: DirectX 8.1

Так как современные ускорители за время, прошедшее с момента выпуска этого теста, ушли далеко вперед, теперь он интересен нам только как система для сравнения старых ускорителей с новыми. Естественно, что все новые ускорители будут работать вполсилы, так как старый тест не может задействовать все их функции. Но в этом тесте становится виден прогресс ускорителей за отчетный период, так как в тесте могут участвовать устаревшие модели карт.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия, фильтрация – трилинейная.

Мы будем использовать только часть тестов этого тестового пакета. Например, GT2- Hi Detail Dragothic, так как в этой сцене больше всего полигонов ( до 350000 в кадре) и наибольший размер текстур (до 28 мегабайт), что позволяет хоть как-то нагрузить современный акселератор, и при этом этот тест еще запускается на картах предыдущих поколений. В этом тесте не используются шейдеры, он разработан под DirectX7.

Также мы будем использовать тест GT4-Nature, так как это один из первых распространенных тестов с использованием DirectX8 и шейдеров версии 1.1, которые в настоящий момент получили наибольшее распространение в игровой индустрии и используются разработчиками и по сей день, несмотря на то, что на смену этому стандарту пришел стандарт 2.0. Также этот тест поможет понять, как ведут себя новые ускорители в старых играх.

• Способ запуска теста:
Через интерфейс программы.

• Системные требования:
Не меньше 128 Мбайт оперативной памяти, рекомендуется 256Мбайт.

CodeCreatures

codecr.jpg

codecr.jpg

Тип теста : рельсовый, эмуляция игрового
Версия: 1.0
Используемый API: DirectX 8.1

• Описание:
Так же, как и GT 4 – Nature в 3Dmark 2001 SE, этот тест использует шейдеры версии 1.1, но обладает более тяжелой графикой, так как в сцене содержится больше полигонов. Прнедназначение этого теста – такое же, что и предназначение GT 4 – Nature, то есть определение производительности современных ускорителей в старых играх, использующих устаревший стандарт вертексных и пиксельных шейдеров.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия, фильтрация – трилинейная, возможно включения антиалиасинга.

• Способ запуска теста:
Через интерфейс программы.

• Системные требования:
Не меньше 256 Мбайт оперативной памяти, рекомендуется 512 Мбайт.

Doom3 Light

doom3.jpg

doom3.jpg

Тип теста : игровой
Версия: 0.02
Используемое API: OpenGL

Как бы это странно не прозвучало, но результаты этого теста кажутся мне одними из самых адекватных, несмотря даже на то, что игра не еще дописана, а версия, которая используется для тестирования, была украдена у разработчиков уже больше, чем полгода тому назад. Этот тест показывает довольно правильное соотношение сил и мощности ускорителей. С одной стороны, в тесте используются практически все новые технологии и ускоритель загружается по полной, а другой, эта версия была украдена еще до выхода существующих чипов, что означает полное отсутствие оптимизации под конкретный новый чип, и более того, это в какой-то степени гарантирует от заточек в драйверах для фальсификации результатов. Этот тест не стоит рассматривать как оценку возможности работы современных ускорителей в «релизном» Doom3, потому что с ним все, скорее всего, будет совсем иначе. Его стоит рассматривать просто как независимый игровой тест. Тест использует альтернативный майкрософтовскому DirectX API OpenGL. Примерная функциональность этой версии этого API равна оной DirectX8.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Все параметры игры – по умолчанию. Тестирование производится с помощью трех записанных демороликов:

  1. Activate_demo1 (есть в комплекте самой «игры», но тест этим роликом не совсем корректен)
  2. Demo_006
  3. Demo_002

Чуть позже мы выложим эти ролики на наш FTP, и дадим ссылки на них. Правда, сразу же хотим предупредить, что размер демороликов достаточно велик.

Существует некоторая проблема с запуском этого теста на картах от Nvidia. Все драйверы начиная с версии 40.XX и старше не позволяют запустить Doom из за проблем с Z-буфером, выдавая вместо картинки мигающий бело-серый экран. Мы решаем эту проблему включением опции NV40 emulation в программе RivaTuner на драйверах версии 52.16. На любых других версиях драйверов DooM может и не заработать. Еще важно отключить вертикальную синхронизацию, в противном случае значение FPS не превысит единицы.

• Способ запуска теста:
После запуска игры нужно включить командную консоль и набрать следующие команды:

  • com_skipDemoFrames 0 (этот параметр обязателен, в противном случае результат будет абсолютно некорректен)
  • s_noupdates 1 (отключает звуковую систему)
  • s_restart (перезагружает звуковую систему для активации изменений)
  • r_mode X ( выставляет разрешение экрана. X равен 3 = 640х480; 4 = 800х600; 5 = 1024х768; 7 = 1280х1024; 8 = 1600х1200)
  • vid_restart (перезагружает видеосистему для активации изменений).

• Для запуска демо ролика Activate_demo1:

  • exec activate_demo1.cfg (инициализирует графические файлы, использованные в ролике. Это нужно, чтобы графические файлы не подгружались динамически во время тестирования, так как это влияет на конечный результат).
  • timedemo activate_demo1.demo (запускает ролик)

• Для запуска деморолика demo002:

  • exec activate_demo1.cfg
  • timedemo demo002.demo

• Для запуска деморолика demo006:

  • exec activate_demo2.cfg
  • timedemo demo006.demo

• Системные требования:
Не меньше 512 Мбайт оперативной памяти, рекомендуется 1 Гбайт.

Unreal Tournament 2003

ut2003.jpg

ut2003.jpg

Тип теста : игровой
Версия: 2225 Patch
Используемый API: DirectX 8.1

Эта игра является одной из самых распространенных среди пользователей. Используемая в ней графика не является сверхсложной, но при этом игра весьма красива и будет оставаться актуальной еще долгое время. В ней используются вертексные шейдеры, но доволно редко, поэтому эта игра с легкостью работает на ускорителях, их не поддерживающих (GeForce MX).

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Всё, что можно изменить, выставляется на максимум.

Тестирование проводится на двух демороликах, представляющих собой полет камеры по уровням Citadel и Face 3. Мы намеренно не используем в тестах демо с участием ботов, так как боты просчитываются динамическим кодом, поэтому раз от раза боты могут изменять траектории своего движения и вообще менять свое поведение. Поэтому результаты могут заметно отличаться, даже если тест с ботами запустить два раза подряд на одном компьютере, никак не меняя его конфигурацию, не говоря уже о запуске этого теста на разных компьютерах и ускорителях.

• Способ запуска теста:
В директории benchmark, находящейся в каталоге, куда инсталлирован Unreal Tournament 2003, есть комплект пакетных BAT-файлов, запускающих игру в тестовых режимах. Для запуска тестового пролета камеры по уровням Citadel и Face 3 используются BAT-файлы FlyBy-Citadel.bat и FlyBy-Face3.bat. После их запуска и окончания теста в той же директории появляется файл benchmark.log в котором интересующий нас результат можно найти после надписи Score. Если перед запуском теста этот файл уже существует, то мы рекомендуем его удалить, чтобы не путаться в результатах. При тестировании используется разрешение выставленное заранее в самой игре. Также для запуска тестов можно использовать программу benchmark.exe, находящуюся в директории system. Существуют также программы сторонних производителей, позволяющие более удобно проводить тестирование.

• Системные требования по памяти:
Не меньше 256 Мбайт оперативной памяти, рекомендуется 512 Мбайт.

Unreal II Awaking

unr2.jpg

unr2.jpg

Тип теста : игровой
Версия : 2001 Patch
Используемое API: DirectX 8.1

Unreal 2 – это продолжение игры Unreal, в свое время наделавшей немало шума. И хотя многие считают её вторую часть провалом хорошей идеи, всё равно эта разработка достойна внимания, так как она основывается на новом движке компании Epic, который так или иначе получит достаточное распространение, поскольку наверняка будет лицензироваться другими производителями игр. Движок Unreal II использует достаточно много полигонов, имеет поддержку больших и соответственно качественных текстур, отличные модели освещения и отлично прорисованных персонажей, состоящих из множества полигонов. Уфф. Надеюсь, вы все поняли. Попытка найти в сети информацию о том, сколько же именно в каком месте полигонов и какие именно там текстуры поддерживаются, ни к чему не привела. Единственное что мы знаем точно – все современное железо на этом движке работает не очень быстро, а старое так вообще тормозит безбожно. Тест использует DirectX 8, что фактически означает, что весь набор функций современных ускорителей использован не будет. Мы понимаем, что информации по этому движку мало, и поэтому приложим все усилия, чтобы как можно быстрее восполнить созданные пробелы.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Все параметры – по умолчанию. Тестирование не сжатое.

• Способ запуска теста:
Мы используем программу benchemall и уровень Acheron.

• Системные требования:
Не меньше 256 Мбайт оперативной памяти, рекомендуется 512 Мбайт.

Serious Sam 2: The Second Encounter

sm2.jpg

sm2.jpg

Тип теста : игровой
Версия : 1.07 Patch
Используемый API: OpenGL

Чаще всего в игровых движках основная нагрузка на акселератор идет при отрисовке окружающего пространства. В этой же игре основная часть полигонов уходит на монстров, и не из за того, что полигонов в каждом монстре много, а всего лишь потому, что монстры в этой игрушке ходят как футбольные фанаты – большими толпами, по десять-двадцать голов, а то и по полсотни. Также в этой игре есть огромных пространств, несвойственные другим шутерам «от первого лица». Так что тест этот весьма специфический, кроме того, использует не DirectX, а OpenGL.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Все параметры – по умолчанию.

• Способ запуска теста:
Мы используем программу benchemall.

• Системные требования по памяти:
Не меньше 256 Мбайт оперативной памяти, рекомендуется 512 Мбайт.

Tomb Raider: Angel Of Darkness

traod.jpg

traod.jpg

Тип теста : игровой
Версия : 49 Patch
Используемый API: DirectX 9.0

Эта довольно новая игра использует API DirectX9 и шейдеры версии 2.0. Это очень большой плюс для нас, так как игр и тестов, полноценно поддерживающих шейдеры версии 2.0, к настоящему моменту очень мало, заметно меньше, чем ускорителей с поддержкой этих шейдеров. Тестируется полная функциональность современных ускорителей. Как следствие, этот тест нельзя гонять на ускорителях, не поддерживающих стандарт DircetX9, так как часть функций будет просто эмулироваться. Конечно же, вы можете думать, что в эмуляции нет ничего плохого, но мы считаем, что все-таки есть, и поэтому будем тестировать этой игрой только ускорители, которые соответствуют спецификациям DirectX 9.0

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Всё, что можно выставить на максимум, выставляется на максимум. Включается поддержка тумана и все функции, использующие шейдеры, кроме DepthOfFields 2.0 и Shadows. Мы отключаем возможность использования шейдеров версии 1.4, так как карты Nvidia не поддерживают этот стандарт, и результаты тестов в этом случае будут бесполезны. Параметры настройки игры вы можете увидеть на следующем скриншоте:

traod_example.gif

traod_example.gif

• Способ запуска теста:
Как вы, возможно, уже заметили, мы используем далеко не последний патч к этой игре. Это связано с тем, что только эта версия патча поддерживает управление игрой из командной строки и функции бенчмарка. То, что эта функция отключена во всех последующих версиях, скорее всего, связано с очередным скандалом с картами Nvidia. Для тестирования мы используем собственноручно записанный деморолик, действие в котором происходит на уровне Paris5, и в котором используются шейдеры версии 2.0. Этот деморолик вы также скоро сможете скачать с нашего ftp. Для запуска теста вам потребуется запустить игру из командной строки. И тут возможны проблемы, так как некоторые пиратские инсталляторы этой игры не совсем корректно её ставят. Запускать требуется не файл launcher.exe, а exe-файл, соответствующий вашему процессору (соответственно TRAOD_P3, TRAOD_P4 или TRAOD) которые находятся в подкаталоге bin директории, куда инсталлирована игра. Launcher не поддерживает ввода команд из текстовой строки. Для запуска теста, вам также нужно скопировать exe-файлы из каталога bin на уровень выше, поближе к launcher.exe, причем делать это нужно только после установки патча. Затем положите файл с демороликом в директорию bin. После этого можно запускать тест cо следующими параметрами:

TRAOD_PX.exe -mode=ШИРИНАxВЫСОТАxОБНОВЛЕНИЕ -settings_override=PS20 (ограничение в используемых шейдерах) -benchmark=ИМЯДЕМОРОЛИКА

Например:

TRAOD_P4.exe -mode=640x480x85 -settings_override=PS20 -benchmark=paris5_4 (запуск теста в разрешении 640 на 480 с частотой обновления экрана 85 герц, минимальная версия используемых шейдеров версии 2.0 и имя деморолика paris5_4).

Результат теста – в  файле benchmark.csv, находящемся в корневой директории игры. Конечной цифрой результата является последняя цифра файла. Если этот файл уже существует, то мы рекомендуем его удалить, чтобы не путаться в результатах.

• Системные требования:
Не меньше 256 Мбайт оперативной памяти, рекомендуется 512 Мбайт.

HALO

halo.jpg

halo.jpg

Тип теста : игровой
Версия : 1.00.00.0564
Используемый API: DirectX 9.0

Это одновременно и старая и новая игра. Её давно знают пользователи игровых приставок, а вот на персональных компьютерах она появилась совсем недавно. Этот шутер от первого лица использует DirectX9.0. Для нас это означает, что использовать этот тест мы будем так же, как и описанный выше тест TombRaider, то есть тестировать им мы будет только ускорители, соответствующие спецификациям DirectX9.0.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Все настройки – на максимум. Деморолики уже встроены в саму игру, и для тестирования надо всего лишь запустить игру из командной строки с определенными ключами, после этого автоматически запустятся четыре теста и результат будет выведен в файл. Для запуска тестового режима в командной строке нужно ввести следующую команду:

halo.exe -use20 -vidmode ШИРИНА,ВЫСОТА,ОБНОВЛЕНИЕ –timedemo

Например:

halo.exe -use20 -vidmode 800,600,85 –timedemo (запуск теста в разрешении 800 на 600 с частотой обновления экрана 85 герц, минимальная версия используемых шейдеров версии 2.0).

Результат будет выведен в файл timedemo.txt, в корневую директорию игры. Конечная цифра расположена сразу после слов Average frame rate. Если этот файл уже существует, то мы рекомендуем его удалить, чтобы не путаться в результатах.

Quake 3 Arena

q3a.jpg

q3a.jpg

Тип теста: игровой
Версия: 1.32
Используемый API: OpenGL

• Описание:
Это старая, классическая и очень популярная игра. Она вышла еще в 1999 году, но и по сей день не теряет своей популярности, и вряд ли потеряет ее еще довольно долгое время. Тот, кто играет в Quake, наверное, понимает, о чем я говорю. Для многих это уже стало спортом. Выкидывать её из тестового пакета – просто кощунство. Люди должны знать, сколько FPS они получат в своей любимой игрушке. Но то, что для современных ускорителей эта игра уже простовата даже с самыми жесткими настройками, и то, что на любых разрешениях на всех современных ускорителях она работает с одинаковой скоростью, упираясь в производительность центрального процессора, заставляет нас усложнять её графическую составляющую с помощью специальных команд. Эти команды значительно усложняют всю геометрию игры.

• Параметры тестирования:
Цветовая палитра – 32 бита, текстуры – 32 бита без сжатия. Все настройки – на максимум. Для тестирования используем демо four. Минус этого деморолика – в том, что он довольно короткий и простой. Плюс этого ролика – в присутствии его в поставке, поэтому качать вам ничего не придется. В конфигурационные файлы мы вставляем следующие команды:

_- r_subdivisions 1

  • r_lodCurveError 30000_

• Способ запуска теста:
После запуска игры входите в консоль нажав кнопку “~” и набираете следующие команды:

  • timedemo 1
  • demo ИМЯДЕМОРОЛИКА

После написанного

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

Как мы уже говорили, большое количество «оптимизаций» и заточек не позволяет нам выделить один или два абсолютно корректных теста. Адекватная картина производительности чипа может быть получена только с помощью как можно большего числа тестов. Чем большим количеством тестов  был  протестирован графический процессор, тем точнее эта картина. На данном этапе описанные тесты способны дать достаточно четкое представление о поведении карты.

Нам интересны любые дополнения и замечания, которые вы хотите нам высказать после прочтения данного материала. Нам приятно сотрудничество  нашими читателями. Вы можете принять реальное участие в обсуждении и составлении методики тестирования карт, и сильно повлиять на нее, если ваши замечания попадут к нам. Сделать это просто – достаточно написать письмо на адрес info@ferra.ru