Обзор тестового пакета 3DMark03

Введение

Наверное, сегодня не найдётся ни одного пользователя, интересующегося компьютерным железом, кто не знал бы про тесты 3DMark. С 1999-го года, когда вышел 3DMark99, это был не просто тест, определяющий, на сколько быстро работает та, или иная видеокарта, но это был так же эталон, определяющий, к чему надо стремиться разработчикам компьютерного железа и 3D-игр. Тесты 3DMark, названные игровыми бенчмарками, наглядно отражали производительность в играх не только видеокарт, но и процессоров, системной памяти и т.д. 11 февраля 2003 года компания FutureMark Corporation, известная ранее, как Madonion.Com, а до этого, как та же FutureMark Corporation, выпустила новую версию своего знаменитого на весь мир бенчмарка - 3DMark03 (мы будем так же именовать его 3DMark2003). Мир в очередной раз изменился; и в этом обзоре мы выясним, в какую именно сторону.

По традиции, тестовый пакет 3DMark2003 был сделан платным. То есть, не совсем платным: любой пользователь может скачать 3DMark03 с одного из сайтов, ссылки на которые указаны на официальном сайте компании Futuremark, но бесплатная версия будет сильно ограничена в функциональности. Для регистрации 3DMark2003 потребуется вводить ключ, за который Futuremark просит 39.95$.

Начиная с 3DMark2000, компания MadOnion.com разделила тестовый пакет 3DMark и просмотрщик результатов - ResultBrowser. Последний надо было скачивать с сайта отдельно и ссылка на него была доступна только тем пользователям, кто заплатил деньги за профессиональную версию 3DMark. В 3DMark03 ситуация изменилась. Один 171-мегабайтный файл содержит в себе всё необходимое. И чтобы зарегистрировать установленный пакет 3DMark2003, не придётся ничего скачивать дополнительно из интернета, как это было в тесте PCMark2002, а надо просто ввести регистрационный код. Сделать это крайне рекомендуется, потому что возможности бесплатной версии теста, как я уже упоминал, сильно ограничены. Вот, что может 3DMark03 Free Version:

  • Запускать все поддерживающиеся компьютером тесты в разрешении 1024x768
  • Запускать демонстрационный режим в разрешении 800x600 (без возможности запуска демо по кругу)
  • Сохранять результаты тестирования в Online Result Browser

Согласитесь, это не много. Для сравнения, после регистрации пользователю станут доступны следующие возможности профессиональной версии теста:

  • Возможность запуска тестов по выбору (из поддерживаемых видеокартой)
  • Возможность выбора разрешения  от 320x200 до максимально поддерживаемого видеокартой
  • Возможность запуска тестов качества изображения и фильтрации текстур
  • Возможность включения пост-обработки изображений (FSAA, эффекты размытия и освещения)
  • Возможность выбора типа фильтрации (билинейная, трилинейная, анизотропная) с возможностью выбора степени анизотропии
  • Возможность экспортирования результатов в Microsoft Excel
Проще говоря, 3DMark03 рассчитан на то, что для тестов будет использоваться платная версия, а бесплатная - только для демонстрации возможностей, потому что тестировать железо на бесплатной версии едва ли получится.

Интерфейс

Интерфейс 3DMark2003 поменялся, на мой взгляд, в лучшую сторону. Он стал более удобен, появилась возможность менять скины для интерфейса, которые можно будет скачивать с сайта FutureMark, теперь нет необходимости задавать имя проекта и заморачиваться так, как это было в 3DMark2001 SE. С другой стороны, в 3DMark03 исчезли некоторые очень важные функции. Так, например, теперь нет возможности автоматического запуска теста (Batch Run), в котором можно было бы выбрать разрешения и настройки, в которых должен будет запускаться тест. В тесте 3DMark2001 SE можно было задать все эти параметры и спокойно отдыхать, пока тест сам прогонит все бенчмарки во всех разрешениях со всеми настройками и сохранит их в базы данных, которые затем можно будет просматривать в ResultBrowser.

 

Кстати, ResultBrowser, как вы, наверное, уже догадались, так же исчез из теста. Теперь 3DMark03 сохраняет результаты в интернет (Online Result Browser), или в формат Excel (только для зарегистрированной версии). С одной стороны, это более удобно для построения графиков, но с другой стороны - при обработке результатов нескольких видеокарт пользоваться файлами Excel как-то не очень удобно.

Frame-Based Rendering и Time-Based Rendering

Существуют два метода рендеринга сцены: Time-Based Rendering и Frame-Based Rendering. Тест 3DMark03 впервые применил новый метод рендеринга - Frame-Based Rendering. Рассмотрим отличия двух этих методик рендеринга сцены. Каждая сцена в 3DMark03 имеет заданную временную полоску и заданное число кадров. На простых сценах компьютер может выдавать высокие значения скорости в кадрах в секунду, на более сложных сценах может быть слайд-шоу. Все ранние тесты 3DMark использовали Time-Based Rendering, в новой версии представлен механизм Frame-Based Rendering, благодаря которому тест отображает фиксированное количество кадров в секунду, задаваемых пользователем.

При рендеринге фиксированного числа кадров в секунду, компьютер будет затрачивать на каждый кадр ровно столько времени, сколько необходимо для его обработки, и в конечном итоге, в сцене будет обработан каждый кадр. В какие-то моменты рендеринг будет происходить слишком быстро, и сцена будет двигаться быстрее, чем задумано по сценарию. В другие моменты - наоборот, медленнее. При Time-Based Rendering в сцене задаются позиции камеры, относительно времени. То есть, если позиция камеры должна смениться через 5 секунд, она сменится, даже если компьютер не успел обработать нужное число кадров. Благодаря этому, на любых компьютерах, быстрых, или медленных, тест при Time-Based Rendering длится одинаковое время. Для тестирования видеокарт я рекомендую использовать Time-Based Rendering.

Шейдеры и движок

По мнению программистов компании FutureMark, будущее 3D-графики стоит за шейдерами, пиксельными и вершинными. 3DMark03 отражает эту тенденцию. Новый графический движок использует вершинные шейдеры весрии 2.0 и пиксельные шейдеры версий 1.1, 1.4 и 2.0.

Современные игры требуют расчёта физической модели окружающего мира. Столкновения между персонажами, физическое взаимодействие моделей, - всё это подчиняется законам физики. Тест 3DMark2003 рассчитывает физическую модель мира за счёт ресурсов центрального процессора, используя алгоритмы компании Havok. Таким образом, все движения и столкновения в игровых тестах являются не просто запрограммированными изменениями положений объектов, но и рассчитанными в реальном времени в соответствии с законами физики.

Ну что же, перейдём к рассмотрению тестов, входящих в пакет 3DMark03. Мы будем рассматривать профессиональную версию 3DMark03, в которой доступны все возможности бенчмарка.

Тестовый пакет 3DMark03 содержит четыре игровых теста, два теста процессора, пять синтетических тестов, три звуковых теста и один тест качества фильтрации текстур. Финальные очки, выдаваемые 3DMark-ом после прохождения тестов, считаются по следующей формуле:

3DMark03 Score =
(скорость Game Test 1)x7.3+
(скорость Game Test 2)x37+
(скорость Game Test 3)x47.1+
(скорость Game Test 4)x38

Как видно, наибольший вес среди игровых тестов имеет тест Game 3, наименьший вес - Game 1. Синтетические тесты в подсчёте результатов вообще не участвуют. Естественно, что результаты 3DMark2003 не совместимы с результатами 3DMark2001 и 3DMark2001 SE. Рассмотрим каждый тест в отдельности.

Game 1 - Wings of Fury

Первый игровой тест - тест авиасимулятора. Август 1944-го года. Американские бомбардировщики "летающая крепость" движутся в направлении Германии и встречают на своём пути немецкие истребители. В результате завязывается бой. В кабинах самолётов и турелях сидят пилоты и стрелки, самолёты подвергаются атаке не только со стороны вражеской авиации, но и с земли, где по сценарию, установлены зенитные орудия. Пулемётные очереди, следы от трассирующих пуль, взрывы, клубы дыма, и всё это - на громадной высоте. Зрелище завораживает, но сцена далеко не идеальна.

 

Почему FutureMark выбрала в качестве игрового теста авиасимулятор? По словам разработчиков, просматривая базу данных Online Result Browaser с результатами тестов миллионов пользователей, они обнаружили, что далеко не все, кто использует 3DMark, "вооружены" современными мощнейшими видеокартами. Многие пользователи до сих пор владеют платами, поддерживающими лишь DirectX 7 (например, GeForce2 или GeForce4 MX). Раз так обстояло дело, то было решено пойти на опрометчивый шаг: в 2003-ем году включить в пакет 3DMark03 тест, который бы работал даже на таких морально устаревших системах, поддерживающих лишь DirectX 7. И авиасимулятор подошёл на эту роль как нельзя кстати. В играх подобного типа, обычно, графике уделяется не столько много внимания, сколько физике управления самолётами. Большую часть времени пилот находится на огромной высоте и зачастую даже не видит вблизи своих врагов, расстреливая их с большого расстояния.

 

Этот тест не требует больших скоростей заполнения видеокарты. Земля представляет собой здесь один большой полигон, на который наложена одна текстура. На небо тоже наложена лишь одна текстура. Разработчики утверждают, что одной текстуры для неба более чем достаточно, во-первых, потому что современные авиасимуляторы, такие как ИЛ-2 Штурмовик, Crimson Skies и другие используют лишь одну текстуру для неба. Если наложить на небо ещё одну текстуру, то скорость в тесте упадёт менее чем на 3% (в пределах погрешности измерений), а визуально мало что изменится.

Однако, мультитекстурирование используется при прорисовке самолётов. На один самолёт накладывается до четырёх текстур: текстура цвета, карта отражения, карта освещённости и карта интенсивности отражения (бликов). В этом тесте так же используются системы квадратных частиц и точечные спрайты (Point Sprites), с помощью которых сделаны выстрелы, дым, огонь и взрывы.

Нагрузка на видеокарту:

  • Приблизительное число полигонов в кадре: 32 000
  • Объём памяти, отводимой под текстуры - 16 Мб
  • Объём памяти, отводимой под буфер вершин - 6 Мб
  • Объём памяти, отводимой под индекс-буфер - 1 Мб 

Тест Game 1: Wings Of Fury использует вершинные шейдеры версии 1.1, хотя подавляющее большинство игр под DirectX 7 не использует шейдеры, довольствуясь фиксированными моделями. Тест включён в 3DMark03 в качестве дополнения к остальным игровым тестам, и как единственный игровой тест, который пойдёт на устаревших DirectX 7 видеокартах. Компания FutureMark не рекомендует использовать этот тест для детальной оценки производительности в DirectX 7 приложениях. Для этого более подойдёт 3DMark 2001 SE.

Game 2 - Battle of Proxycon

Космический корабль атакуется врагами. Вражескому десанту противостоят мужественные солдаты. В перестрелке потери несут обе стороны. Последняя схватка разворачивается в док-палубе, где удаётся отбить нападение врага. Второй игровой тест эмулирует игры от первого лица типа Unreal 2, DOOM III и прочих 3D-стрелялок, которые вышли или выйдут начиная с 2003 года.

 

В отличие от авиасимуляторов, игры с видом "от первого лица" всегда относились к "элите" трёхмерной графики. Ведь в них игрок может подходить к стенам и общаться с другими персонажами (нередко это общение для одной из сторон имеет летальный исход :) ), выходить на природу и т.д. Поэтому игры данного класса просто обязаны иметь лучшую графику, звук, физику и много чего ещё. Зачастую игры класса "от первого лица" и задают направления развития компьютерной графики, и не только её, но так же и звука. Тест Game 2 - Battle of Proxycon уже использует стандарт DirectX 8 и предъявляет более жёсткие требования к компьютеру.

Одна из новых технологий, применённых в тесте, - это Normal Mapping (карты нормалей). Эту технологию можно сравнить с BumpMapping (карты рельефа). С её помощью удаётся воссоздать рельеф объекта, имеющего относительно низкое число полигонов. Вы можете видеть на скриншотах, что бронированные костюмы на персонажах имеют рельеф. Так вот, этот рельеф задаётся не дополнительными полигонами, а картами нормалей, определяющими смещения, то есть, где на объекте должна быть впадина, а где он должен быть выпуклым.

 

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

Естественно, что сцена Battle of Proxycon демонстрирует игры будущего. Эти игры будут очень сильно загружать процессор искусственным интеллектом и расчётами физической модели мира (включая столкновения персонажей). Поэтому в подобных играх будет важно как можно сильнее загрузить видеокарту, свалив на неё всё, связанное с графикой. Как модель игры будущего, тест Battle of Proxycon использует пиксельные и вершинные шейдеры.

Пиксельные шейдеры версии 1.4.

Тест Game 2 - Battle of Proxycon использует пиксельные шейдеры версии 1.4, поддерживающиеся стандартом DirectX версии 8.1 и 9.0. Пиксельные шейдеры версии 1.4 позволяют производить рендеринг за меньшее число проходов, чем при использовании более ранних версий шейдеров - 1.1. При использовании пиксельных шейдеров версии 1.1 в этом игровом тесте потребовалось бы четыре прохода рендерина: один для буфера глубины и три для каждого источника света. С использованием пиксельных шейдеров версии 1.4 все расчеты выполняются в гораздо быстрее: один проход требуется для инициализации буфера глубины и по одному проходу нужно на расчёт каждого источника освещения.

Вполне естественно, что чем больше источников света используется для освещения одного и того же объекта, тем медленнее будет происходить рендеринг сцены. В современных играх разработчики пытаются свести к минимуму число источников света, воздействующих на один объект. Программисты FutureMark учли это, и в тесте Game 2 - Battle of Proxycon каждый действующий персонаж освещается не более чем двумя источниками света.

Все объекты в тесте строятся с использованием вершинных шейдеров, за счёт ресурсов видеокарты, или процессора (если видеокарта не поддерживает вершинные шейдеры на аппаратном уровне).

Пост-процессинг

В спецификации пиксельных шейдеров версии 1.1 заложена такая функция, как пост-процессинг кадра для данного положения камеры. Пост-процессинг - это наложение определённых эффектов на заданные объекты после рендеринга кадра. В тесте 3DMark03 используются два эффекта пост-процессинга: Depth Of Field и Bloom. Эффект Depth Of Field, глубина фокуса, используется в кинематографе для выделения наиболее важных объектов среди общей сцены. Суть его в том, что камера, наводясь на один из объектов, теряет фокус на других объектах. Таким образом, внимание зрителя фокусируется именно на данном объекте, который расположен ближе, или дальше в сцене.

 

Эффект Bloom так же происходит из кинематографа. С его помощью некоторые освещённые поверхности становятся пересвеченными, и все мелкие детали, находящиеся на этих поверхностях, перестают быть видимыми.

 

По умолчанию, пост-процессинг отключен в тесте и может включаться по желанию пользователя. При включении полноэкранного сглаживания (FSAA), пост-процессинг так же отключается.

Нагрузка на видеокарту:

  • Для запуска теста необходима DirectX 8-совместимая видеокарта с поддержкой пиксельных шейдеров версии 1.1.
  • Для того, чтобы все текстуры загрузились в локальную память видеокарты, графическая плата должна иметь видеопамять объёмом не менее 128 Мб.
  • Все вершинные трансформации используются с применением вершинных шейдеров версии 1.1
  • Все действующие персонажи созданы с использованием скиннинга вершинными шейдерами.
  • Все пиксели рассчитываются с использованием пиксельных шейдеров версий 1.1 или 1.4.
  • Динамические тени рассчитываются с помощью буфера шаблонов
  • Физика падения персонажей рассчитывается в реальном времени с помощью движка Havoc
  • В среднем, в каждом кадре присутствует 250 000 полигонов при использовании пиксельных шейдеров версии 1.1
  • При использовании пиксельных шейдеров версии 1.4 в среднем в каждом кадре присутствует 150 000 полигонов (уменьшение числа полигонов достигается за счёт снижения числа проходов рендеринга)
  • Для хранения текстур используется 80 Мб видеопамяти
  • Для хранения вершин объектов используется 6 Мб видеопамяти

Тест Game 2 - Battle Of Proxycon в купе с тестом Game 3 - Troll's Lair может использоваться для отображения производительности компьютера в Direct X 8 приложениях.

Game 3 - Troll's Lair

Одинокая искательница приключений заходит в старую библиотеку. Она направляется к книжному шкафу, который скрывает за собой тайный проход в подземелье, где её ожидают двое злобных троллей. Завязывается поединок, из которого троллям не уйти живыми. Третий игровой эмулирует игру класса RPG (ролевую игру). Ролевые игры в качестве графики зачастую отставали от "стрелялок от первого лица", но были и исключения. Например, игра MorroWind могла похвастаться не только великолепным качеством графики, но и применением возможностей DirectX 8, например, пиксельных шейдеров. Однако, постановка сцены, опять же, напоминает лишь демонстрационный ролик из игры, но никак не фрагмент игрового процесса.

 

Основное внимание в тесте приковывает главная героиня, а точнее её... причёска. Дело в том, что причёска персонажей всегда была слабым местом в любой компьютерной игре. Современная техника ещё не способна воссоздать каждый волос на голове человека, но к этому всё стремится. По заявлениям FutureMark, каждый волосик на голове героини был смоделирован отдельно. При рендеринге волос используется эффект анизотропного освещения, в результате которого эффект от падения света на поверхность в направлении оси X и оси Y будет разным (пример такого освещения можно увидеть на виниловых пластинках, или на человеческих волосах). Движения волос подвергаются законам физики, на волосы действуют три физические силы: гравитация, сила, скручивающая волос и жёсткость волоса.

Как и в тесте Game 2 - Battle of Proxycon, здесь используются карты нормалей для создания более детализированных объектов. Динамические тени так, как и во втором игровом тесте, же рассчитываются с помощью буфера шаблонов. И так же в этом тесте используются пиксельные шейдеры версии 1.4, в том случае, если они поддерживаются видеокартой. При включении пост-процессинга, можно задействовать эффекты глубины фокуса и переосвещения. На первом приведённом выше скриншоте с помощью эффектов пост-процессинга смоделирован объёмный свет, падающий через окна, в результате создаётся впечатление о больших размерах здания, в котором происходит действие. Столкновения троллей в этом тесте рассчитываются в реальном времени с помощью физической модели Havoc.

Нагрузка на видеокарту:

  • Для запуска теста необходима DirectX 8-совместимая видеокарта с поддержкой пиксельных шейдеров версии 1.1.
  • Для того, чтобы все текстуры загрузились в локальную память видеокарты, графическая плата должна иметь видеопамять объёмом не менее 128 Мб.
  • Все вершинные трансформации используются с применением вершинных шейдеров версии 1.1
  • Все действующие персонажи созданы с использованием скиннинга вершинными шейдерами.
  • Все пиксели рассчитываются с использованием пиксельных шейдеров версий 1.1 или 1.4.
  • Динамические тени рассчитываются с помощью буфера шаблонов
  • Физика падения и столкновения персонажей рассчитывается в реальном времени с помощью движка Havoc
  • В среднем, в каждом кадре присутствует 560 000 полигонов при использовании пиксельных шейдеров версии 1.1
  • При использовании пиксельных шейдеров версии 1.4 в среднем в каждом кадре присутствует 280 000 полигонов (уменьшение числа полигонов достигается за счёт снижения числа проходов рендеринга)
  • Для хранения текстур используется 64 Мб видеопамяти
  • Для хранения вершин объектов используется 19 Мб видеопамяти
  • 2 Мб видеопамяти используется для хранения индекса буферов

В общем-то, если не считать причёски главной героини, то можно сказать, что тесты Game 2 и Game 3 идентичны по используемым эффектам и отличаются лишь графикой. Третий игровой тест является более тяжёлым и сильнее нагружает видеосистему компьютера, чем второй. Вместе оба этих теста можно использовать для определения производительности компьютера в DirectX 8 приложениях.

Game 4 - Mother Nature

Лучики летнего солнышка пробиваются сквозь зелёную листву деревьев. Милое журчание ручейка с кристалльно-прозрачной водой, зелёная травка. Черепаха медленно выкарабкивается из воды и смотрит, как бабочка порхает в воздухе, садясь на тёплые камни. Лето, зной, спокойствие... Очнись, это всего лишь 3D-графика! Впервые FutureMark сделали сцену с природой в тесте 3DMark99, которая работала лишь в демонстрационном режиме. Потом в 3DMark2000 природа уступила место матрице и снова появилась лишь в 3DMark2001, где шокировала пользователей своей красотой. Что самое удивительное, при тестировании в 3DMark2001 тест Game 4 - Nature требовал поддержки DirectX 8, но при запуске в демо-режиме работал и на DirectX 7 видеокартах. Здесь, в 3DMark03, тест Mother Nature (мать природа) требует от видеокарты поддержки DirectX 9.

 

Воссоздать природу, пусть даже маленькую её частичку - очень сложная задача. Современному искушённому пользователю не подсунешь две текстуры, пересекающиеся крест-накрест в форме дерева. Нам подавай каждую травинку, каждый листочек. Поэтому неудивительно, что для реализации наших запросов требуется всё больше и больше ресурсов компьютерного железа. Тест Mother Nature использует пиксельные шейдеры версии 2.0 для создания воды в ручейке. При создании воды используются следующие текстуры: одна для создания волн, карта нормалей (накладывается дважды), карта отражения света и кубическая карта преломления света для создания отражений удалённых объектов. Так же здесь используется карта прозрачности. Итого, на воду накладываются пять текстур.

Тест Game 4 - Mother Nature использует ещё одну новую возможность, предоставляемую DirectX 9 - новую цветовую палитру, позволяющую выйти за ограничения 32-битного цвета, то есть, за 16 миллионов цветов. Теперь рендеринг может производиться с большей точностью цвета, что позволяет более точно рассчитывать цветовые эффекты и исключить вероятность ошибки. Но расширенной глубиной цвета дело не ограничивается. В тесте Mother Nature каждый листик на деревьях и каждая травинка представляют собой отедльные объекты. Для сравнения, раньше листва и трава были сделаны текстурами, натянутыми на плоские поверхности.

Все движения объектов в данном тесте осуществляются при помощи вершинных шейдеров версии 1.1. При рендеринге земли используются пиксельные шейдеры версии 1.4. На поверхность земли накладываются 6 текстур: текстура цвета, карта детализации, карта освещения, карта рельефа, карта теней от облаков и кубические карты нормалей.

Нагрузка на видеокарту:

  • Для запуска теста необходима аппаратная поддержка видеокартой DirectX 9 и пиксельных шейдеров версии 2.0
  • Для моделирования листьев используются вершинные шейдеры версии 2.0
  • При обработке земли и неба используются пиксельные и вершинные шейдеры версии 2.0
  • Освещение рассчитывается с использованием динамической палитры, снимающей ограничения 32-битного цвета
  • В каждом кадре содержится примерно 780 000 полигонов
  • Для хранения текстур используется 50 Мб видеопамяти
  • Для буфера вершин используется 54 Мб видеопамяти
  • 9 Мб видеопамяти используется для индекс-буфера

По заявлениям компании FutureMark, тест Game 4 - Mother Nature не использует всех возможностей стандарта DirectX 9. Как утверждает FutureMark, тест Game 4 - Mother Nature использует ровно столько технических возможностей, сколько ему необходимо для воссоздания картины природы. Этот тест очень сильно нагружает видеокарту, заставляя её перерабатывать более 100 Мб графического контента. Разработчики теста из компании FutureMark согласны с тем, что Game 4 - Mother Nature в полной мере не отражает производительность в DirectX 9 приложениях, но до тех пор, пока на рынке не появятся игры, в большей степени использующие возможности DirectX 9, чем это делает Game 4 - Mother Nature, есть смысл использовать этот тест, а к тому времени, когда такие игры появятся, FutureMark выпустит новый 3DMark. Так что можно считать, что Game 4 вполне пригоден для тестирования DirectX 9 железа, по крайней мере, в ближайшие год-полтора.

Синтетические тесты

Тесты процессора

В тестовом пакете 3DMark03 присутствуют два теста, служащие для определения производительности центрального процессора. Как и в случае с 3DMark2000, это два теста - Game 1 и Game 3, облегчённые с точки зрения графических эффектов. В этих тестах все вершинные шейдеры выполняются за счёт ресурсов центрального процессора. Оба теста, Wings of Fury и Troll's Lair запускаются в разрешении 640x480. Первый тест очень хорошо подходит для тестирования процессора, поскольку он не использует пиксельные шейдры, а во втором тесте для снижения нагрузки на видеокарту были отключены динамические тени. Сами тесты процессора, CPU Test 1 и CPU Test 2 не являются многозадачными, но использование компьютеров с двумя процессорами (физическими, или логическими, полученными за счёт технологии Hyper-Threading), может привести к большим результатам по сравнению с компьютерами, имеющими аналогичную конфигурацию и один процессор с той же частотой. Тестовый пакет 3DMark03 был разработан и скомпилирован, как 32-битное приложение, поэтому его запуск на 64-битных системах не принесёт никаких дополнительных результатов по сравнению с 32-битными системами.

Fill Rate

В тестовом пакете 3DMark03 имеются два теста для измерения производительности компьютера в плане обработки пикселей. Тест FillRate отражает скорость, с которой видеокарта может накладывать текстуру на поверхность объекта. Результат выводится в миллионах текселей (тексель - это один пиксель текстуры) в секунду (MTexels/s). Первый тест - Single Texturing. Он определяет, с какой скоростью видеокарта накладывает одну текстуру на объекты. В этом тесте одна и та же текстура накладывается на 64 движущихся плоских объектов. Это означает, что видеокарта накладывает отдельно каждую текстуру на каждый объект, и результаты теста отражают, как много текстурных слоёв может наложить видеокарта за один проход.

Второй тест, Multi-Texturing, измеряет скорость, с которой видеокарта способна накладывать несколько текстур на один объект. За один проход на объект накладывается 64 текстуры. Используемые методы текстурирования накладывают некоторые ограничения на число текстур, которые можно наложить на объект за один проход. Так, например, максимальное число накладываемых текстур за один проход равно восьми. Так что даже современные видеокарты, способные накладывать до 16 текстур за проход, в этом тесте не смогут накладывать более восьми текстур на поверхность за один проход.

Надо сказать, что результаты тестов Fill Rate зависят от разрешения, в котором запускаются тесты. Причём, чем ниже разрешение, тем результаты будут ниже.

Vertex Shader

Тест скорости обработки вершинных шейдеров, а точнее, насколько быстро производится скиннинг персонажей. В одной сцене присутствуют 30 троллей из теста Troll's Lair, которые бегают по экрану и бьют дубинами друг друга. Модель каждого тролля состоит примерно из 5500 треугольников. Рендеринг этих троллей производится в четыре прохода с использованием пиксельных шейдеров версии 1.1. На каждую модель накладывается пять текстур. Для каждой модели тролля скиннинг производится четыре раза, чтобы увеличить нагрузку на видеокарту. Таким образом, получается, что в кадре присутствует примерно 660 000 полигонов (30 троллей, по 5500 полигонов в каждом, рассчитываются по 4 раза подряд).

 

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

Pixel  Shader 2.0

Этот тест вычисляет производительность системы при обработке процедурных текстур с использованием пиксельных шейдеров версии 2.0. Технология процедурных текстур позволяет создавать высокодетализированные текстуры в процессе работы приложения. Это означает, что для текстурирования объектов с использованием процедурных текстур не потребуется применять множество текстур с высоким разрешением, а это позволит сэкономить на видеопамяти. Процедурные текстуры можно использовать для создания палитры таких материалов, как дерево, или мрамор. Так как эти текстуры рассчитываются в реальном времени, то теоретически они имеют бесконечно большое разрешение. Камера может приближаться к объекту максимально близко, и текстуры на объекте не будут размытыми. Только точность, заданная программистами и способности видеокарты могут определить предел разрешения процедурных текстур.

 

В сцене этого теста присутствуют три объекта: мраморные фигурки слоника, носорога и деревянная подставка, на которой они стоят. Камера облетает эти фигурки, демонстрируя качество наложенных текстур. Текстуры мрамора и дерева генерируются по сложным формулам во время загрузки теста. Эти формулы используют функции синуса и косинуса, реализованные в пиксельных шейдерах версии 2.0.

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

RagTroll

Данный тест демонстрирует, насколько система может балансировать нагрузку между видеокартой и центральным процессором. Шестнадцать троллей прыгают с большой высоты вниз и разбиваются насмерть. Персонажи взяты из теста Troll's Lair, и так же, как и в тесте Vertex Shader, они рассчитываются с помощью вершинных шейдеров версии 1.1, и здесь скиннинг каждого персонажа производится четыре раза. Освещение персонажей рассчитывается динамически с использованием пиксельных шейдеров версии 1.4.

 

Физика падения троллей, их столкновение с балками и с землёй рассчитывается ресурсами центрального процессора с помощью движка Havok. Эти расчеты как раз и составляют противовес расчетам графики, и в этом и состоит идея баланса нагрузок между CPU и GPU. Тест RagTroll может использоваться для тестирования связки "процессор+видеокарта", то есть, с его помощью имеет смысл вычислять масштабируемость видеокарты на разных процессорах. Однако, так как результаты выводятся в кадрах в секунду, то использование этого теста, как я считаю, необходимо обосновывать и давать объяснения результатам.

Sound Test

Впервые в истории тестов 3DMark, компания FutureMark ввела тест звуковой подсистемы компьютера. Современные звуковые карты, в большинстве своём, поддерживают обработку 3D-звука, позволяя рассчитывать несколько десятков звуковых источников, суммируя полученную звуковую картину и выводя её на аудиоколонки. Тест 3DMark03 имеет буквосочетание "3D" в названии, но теперь оно означает не только 3D-графику, но и 3D-звук.

Для тестирования используется сцена из первого игрового теста - Wings Of Fury, в которую добавлены звуковые источники, рассчитывающиеся с помощью движка FMOD, разработанного компанией Firelight Technologies. В этом тесте звуковыми источниками являются каждый двигатель самолёта, каждый пулемёт и каждый взрыв. Тест проходит в три этапа: на первом этапе звук не воспроизводится, здесь высчитывается производительность системы без звука, чтобы потом можно было сравнить падение производительности компьютера при включении 3D-звука. На втором и третьем этапах в сцене используются 24 и 60 звуковых потоков соответственно. В общем-то, падение производительности (в кадрах в секунду) - единственное, что можно почерпнуть из этого теста, поскольку действие происходит настолько быстро, что оценить качество позиционирования источников по каналам довольно нелегко.

Звуковые тесты используют эффект Допплера, горизонтальное и вертикальное позиционирование, а так же затухание звука в пространстве.

Image Quality Tools

Как и полагает полноценному тесту, 3DMark03 имеет встроенные функции для оценки качества рендеринга. По сравнению с предыдущими версиями 3DMark, здесь эти функции стали гораздо более мощными. Так, например, пользователь имеет возможность выбрать, какой именно кадр в каком из поддерживаемых тестов ему нужен для оценки качества рендеринга. 3DMark2003 воспроизведёт этот кадр и сохранит его в отдельный каталог в некомпрессированном формате .BMP. Есть возможность выбирать как отдельный кадр, так и их последовательность, задавая интервалы начала и конца рендеринга. Все кадры из этого интервала будут сохранены в отдельном каталоге, каждый файл будет иметь имя, задаваемое по маске и номер, соответствующий номеру кадра.

Правда, чтобы сравнить качество картинки с эталоном, придётся проинсталлировать DirectX 9 SDK, за счёт которого 3DMark03 будет программно производить рендеринг картинки, получая эталонные скриншоты. При рендеринге интервала кадров, надо помнить, что изображения сохраняются в формате BMP и занимают достаточно много места на винчестере.

Важно: при тестировании 3DMark03 мы заметили, что качество рендеринга теста Image Quality отличается от качества рендеринга во время запуска игровых тестов. Отличия весьма существенные, и зачастую изображение, полученное тестом Image Quality, намного лучше, чем скриншот, снятый из игрового теста: оно лишено многих глюков и текстуры выглядят более чёткими. Мы проверяли это как на платформе nVidia, так и на платформе ATi. Это замечание надо учитывать при оценке качества изображения с помощью 3DMark03.

Texture Filtering Tool

Инструментов для определения качества рендеринга текстур мы не видели со времён 3DMark99. А жаль, ведь сейчас, когда на смену трилинейной фильтрации пришла анизотропная с разными степенями анизотропии, подобная возможность тестового пакета будет очень сильно востребована. 3DMark2003 в этом плане нас порадовал. Данный тестовый пакет позволяет запускать тест фильтрации текстур, в котором пользователь сам управляет движением камеры, и может с клавиатуры выбирать угол её поворота, или двигать камеру. Параллельно, во время работы теста, имеется возможность изменять метод текстурной фильтрации по четырём параметрам, устанавливая билинейную, трилинейную или анизотропную.

В тесте можно включать наложение цветных, или чёрно-белых текстур, изменять параметры Magnification, Minification, Mipmapping и уровень анизотропии. Вообще, повторюсь ещё раз: тест Texture Filtering - очень мощный инструмент, который наверняка пригодится при сравненни качества рендеринга различных видеокарт.

Погрешность измерений

Общеизвестно, что тестовый пакет 3DMark2001 SE имел достаточно высокую погрешность измерения. Зачастую эта погрешность могла ввести в заблуждение, не давая понять, есть ли разница в производительности между двумя видеокартами, или это просто погрешность. Мы решили проверить погрешность измерений 3DMark03 по следующей методике: в тестовом пакете 3DMark03 запускались тесты Game 1, Game 2 и Game 3, суммарный показатель которых давал официальные очки 3DMark Offcial Score. После этого результаты сохранялись, окно 3DMark2003 закрывалось, после чего 3DMark03 запускался заново и тестирование повторялось. Таким образом, мы не перезагружали операционную систему, но перезагружали каждый раз сам тест. Эта операция проводилась десять раз подряд.

Тестовая система

Процессор

AMD Athlon XP 2800+

Материнская плата

SOYO DRAGON KT400 (PE)

Память

512 Мб DDR PC2700 CL 2.5

Винчестер

Quantum 30Gb AS+ 7200 rpm

Видеокарта

GeForce4 Ti4800SE

ОС

Windows XP

Разброс показателей 3DMark Official Score перед вами:

 

Как видно, отклонение небольшое. Среднее значение из десяти результатов составляет 1364 очка. На следующей диаграмме показано, на сколько очков отличаются результаты от среднего.

 

На первый взгляд, может показаться, что такое отклонение - слишком большое. Но стоит помнить, что среднее значение 3DMark Official Score в наших тестах составляет 1364 очка и максимальное отклонение - 9 очков - это всего лишь 0,65%. Стандартное математическое отклонение для данной выборки результатов 3DMark03 Official Score  составляет 4.66, что примерно равно 0.33%. Почему мы рассматривали именно официальные очки 3DMark03? Потому, что они рассчитываются по формуле, которая многократно увеличивает результат, полученный в кадрах в секунду. И даже небольшое изменение в скорости одного игрового теста значительно влияет на результат 3DMark Official Score. Среди проведённых нами тестов наибольшее стандартное отклонение результатов было в тесте Game 1 - Wings Of Fury оно равнялось 0.469, что составляло примерно 0.48% от среднего значения. В тесте Game 3 - Troll's Lair во всех десяти случаях результат был получен один и тот же, и погрешность равнялась , но возможно, если бы результаты были более высокие, чем 9.1 кадров в секунду, то погрешность была бы и в этом тесте.

Подводя итог, можно сказать, что судя по нашим исследованиям, погрешность измерений 3DMark03 не превышает 1%, а это означает, что данный тестовый пакет является очень точным  инструментом измерения производительности.

Выводы

На момент написания этой статьи, тестовый пакет 3DMark03 быстро и безглючно работал только на одном видеочипе - Radeon 9700 PRO. На остальных видеокартах тест работал медленно, запускались не все бенчмарки, результаты выдавались очень низкие. В связи с этим, многие обозреватели видеокарт начали сомневаться в том, имеет ли смысл использовать 3DMark03 для тестирования. Дело в том, что слишком низкие результаты - 3.6, 3.8 кадра в секунду, получаемые в 3DMark2003 на многих, не самых дешёвых компьютерах с не самыми старыми видеокартами, не могут отражать реальную производительность. И если одна видеокарта показывала 2 кадра в секунду, а другая - 3 кадра в секунду, то это вовсе не могло говорить о том, что вторая видеокарта в полтора раза быстрее первой. Масла в огонь подливала nVidia, чьи видеочипы проигрывали в 3DMark2003 основному конкуренту - продукции ATi (Radeon 9700 и 9700 PRO).

В этом обзоре мы специально  не стали касаться демонстрационного режима 3DMark03. Во-первых, потому что он пойдёт не на всех видеокартах, во-вторых, потому что он мало чем отличается от игровых тестов (вообще-то, отличие в нём только в немного другом тесте Game 1 Wings Of Fury), и в-третьих, потому что про демонстрационный режим особо говорить нечего. Он просто есть, не более того.

При изучении тестового пакета 3DMark03, мы учли доводы тех, кто был сторонником использования 3DMark03 и тех, кто всячески призывал не тестировать видеокарты этим тестом, отдавая предпочтение "реальным игровым программам", таким как Unreal Tournament 2003, DOOM III, или Serious Sam. Мы пришли к выводу, что 3DMark2003 можно и нужно использовать для изучения производительности и качества рендеринга видеокарт, поддерживающих стандарт DirectX 9, таких, как Radeon 9700/PRO, GeForce FX и тех, которые ещё появятся. Для сравнения скорости DirectX 8 видеокарт, из всего тестового пакета может быть использован лишь первый игровой тест Wings of Fury, дополнением к которому могут служить тесты из 3DMark2001 SE и из ранее упоминавшихся компьютерных игр. Другие синтетические тесты так же можно использовать, в зависимости от поставленной задачи. Как бы то ни было, особых претензий к 3DMark03 у нас нет и всё, что необходимо сейчас для правильного использования теста - это мощные компьютеры и опыт; и то, и другое придёт со временем. Удачного тестирования и высоких вам результатов!

<< - Обзор тестового пакета 3DMark 2001 Pro - Обзор тестового пакета 3DWinbench 2000 >>