Итак, 3D Mark 2005 вышел, прижился и успешно эксплуатируется. Самое время суммировать известные нам факты и мысли относительно этого теста, создав краткое, но емкое описание его возможностей.
Начнем с конца, а точнее с боку. Справа, вверху, кроме игровых и синтетических тестов и настроек, нам доступна системная информация, которая выдается по кнопке «Details…» в виде достаточно компактного и удобного HTML файла. В наличии отчеты :
- CPU — основные параметры, производитель, доп. возможности. Кстати, почему-то неверно определяется размер кэш памяти у Celeron D (показывает 0 и для первого и для второго уровня).
- Версия DirectX
- Информация о видеокарте, включая основные пункты из DX CAPS — версии шейдеров, число поддерживаемых источников света и тексту, дополнительные возможности, форматы текстур, доступная память. Кроме того, определяется частота ядра и памяти видеокарты.
- DirectShow — установленные в система аудио и видео кодеки и фильтры.
- DirectSound — параметры звуковых устройств системы
- Memory — объем доступной оперативной и виртуальной памяти, более подробная информация по слотам на материнской плате и вставленным в них модулям, включая частоту и характерное время доступа.
- Motherboard — информация о материнской плате, чипсете, слотах PCI и AGP.
- Информация о системных устройствах (Звуковые, сетевые и коммуникационные адаптеры и контроллеры)
- Информация о USB и FireWire портах и устройствах
- Информация об операционной системе и установленном сервис паке, об активных процессах.
- Информация о жестких дисках и логических дисках.
Отчет не претендует на исчерпывающую полноту но затрагивает все важнейшие параметры, включая частоты процессора, видеокарты и памяти и несомненно содержит множество полезной информации, особенно, для пользователей не имеющих специальных информационных и тюнинговых утилит, таких как RIVA-Tuner.
В центре — секция настроек, Settings. Они доступны только в платных версиях теста — для доступа к ним необходимо зарегистрировать свою копию как PRO или Business. Иначе, все тесты выполняются в разрешении и с настройками по умолчанию. Итак, среди настроек:
- Resolution — разрешение
- Anti-aliasing — полноэкранное сглаживание, режим и качество (в некоторых случаях может форсироваться из драйвера)
- Texture-filtering — фильтрация текстур, качество и максимальная степень анизотропии (в некоторых случаях может форсироваться из драйвера)
- VS и PS Profile — версия вершинных и пиксельных шейдеров, выполняемых ускорителем в ходе тестов. Исходно шейдеры заданы в высокоуровневом HLSL коде, который затем компилируется DirectX в ту или иную версию ассемблерного кода поддерживаемого ускорителем.
- Rendering Options — вариации построения изображения в тестах:
- Force Full Precision — всегда рассчитывать информацию в шейдерах с полной точностью вычислений (форматы FP24/32 везде где они доступны).
- Disable DST — запретить карты теней (алгоритм Depth Stencil Test)
- Disable post-processing — запретить 2D пост обработку построенного кадра.
- Force software vertex shaders — принудительно переложить расчет вершинных шейдеров на CPU.
- Color mipmaps — подсвечивать разном цветом разныем mip-уровни текстур для визуального контроля качества трилинейной и анизотропной фильтрации.
- 6. Repeat & Loop — прогон несколько раз и зацикливание тестов, усреднение результатов для более точного тестирования. Кроме того доступна опция по фиксированию фреймрейта, актуальная для оценки производительности игр схожих с Doom III в технологии построения изображения.
Справа снизу находится секция Results о назначении которой не трудно догадаться по названию. В бесплатной версии доступна запись файла результатов и просмотр в онлайн, в платной — доступен полезнейший экспорт в Excel.
Кстати о плате — доступны два типа лицензии на 3D Mark 05 — профессиональная (~20 долларов, в случае скачивания) и Бизнес (~240 долларов). Первая включает все заблокированные в бесплатной версии настройки и возможности экспорта, вторая кроме того, позволяет управлять тестированием через параметры командной строки, что очень важно для тестирования больших объемов различного оборудования, например, как в случае наших 3D-Итогов. Владельцам предыдущей версии PRO лицензия будет стоить всего 10 долларов.
Появилась (внизу, чуть левее результатов) новая функция Graphs — динамический сбор инофрмации по ходу проведения тестов и последующее построение графиков зависимости одного из параметров от времени. Для каждого из тестов можно, кроме стандартных настроек, выбрать один из следующих параметров:
- Мгновенный FPS
- Время построения одного кадра
- Число полигонов в кадре
- Число вершин
- Число изменений состояний (state changes/изменений стейтов — смена текстур, шейдеров и других параметров Direct3D)
- Число пакетов (batches/батчей — передаваемых ускорителю одним пакетом вершинных и прочих данных на отрисовку)
И получить затем в Excel (необходим для этой функции) график его изменения по ходу теста в зависимости от времени. Эта возможность нужна скорее профессиональным тестерам и разработчикам игр — она позволяет выделить слабые места ускорителя и подобрать характерные для максимального использования его ресурсов параметры построения сцены. Однако, существуют и более удобные инструменты для такого анализа доступные разработчикам напрямую от производителей ускорителей — например NV Perf HUD позволяет анализировать аппаратные счетчики производительности тех или иных блоков ускорителя, получая более детальную и точную картину нагрузки различных его подсистем. Как бы там ни было — эта возможность полезна, хотя бы для оценки разброса FPS в тестах и степени вины в этом драйверов и железа.
Доступны также режимы тестирования качества изображения Image Quality и качества фильтрации и AA (Filtering & AA). В этом плане ничего нового — все как в предыдущей версии. Если у вас установлен последний (лета 2004) DX SDK — вы получите возможность построить эталонные изображения используя полностью программный расчет на Ref-Rast (Референсном растеризаторе DX).
Слева расположена секция тесты, которая, очевидно, позволяет выбрать, какие конкретные тесты мы желаем запустить в режиме тестирования. Нам доступны три игровых теста, два теста CPU, тест Fillrate, по два теста на вершинные и пиксельные шейдеры и тест на эффективность размера пакета передаваемого ускорителю при отрисовке (batch size, доступно 6 вариантов размера). Расскажем обо всех них подробнее:
Игровые тесты
Для начала отметим один важный момент — все игровые тесты используют единый движок. Т.е. не следует ожидать от него существенной оптимизации под тот или иной тип игр, скорее это обобщенный механизм построения сцен, основанный на нескольких моделях расчета освещения и теней и использующий единые исходные HLSL шейдеры компилируемые под заданный профиль. Сам по себе движок может считаться очень современным — используются кубические карты для расчета освещения от источников света, с ребром куба 512 точек, очень детальные перспективные карты теней (2048х2048 в плавающем формате с точностью 32 бита), при поддержке аппаратуры — DST (Depth Stencil Test - карты глубины для построения теней) в формате D24X8, тоже размером 2048х2048. Широко используется сжатие текстур, разными методами сжимаются текстуры, карты нормалей и карты прозрачности. Все эти методы DXT той или иной версии — 3Dc от ATI пока не поддерживается.
В режиме DEMO все сцены воспроизводятся с пост-процессингом уже построенного кадра, выполняющем такие кинематографические эффекты, как глубина резкости, свечение и иже. Но, во время прогона тестов пост-процессинг отключается. Теперь конкретнее по тестам.
Return To Proxycon
Первый тест, по балансу сцены во многом адекватен современным FPS. Сражение в помещении, локальный динамический свет, максимум расчетов на ускорителе, минимум на CPU. Некоторые упрощения расчетов освещения. Металлические поверхности с картами нормалей и отражений. Число источников света — 8, из них два сложных, направленных, остальные точечные.
FireFly Forest (Лесной светлячок)
Ночной лес, множество растительности, летающий светлячок освещающий листья многочисленных растений. Много моделирования физики объектов — полет, колебания листьев. Один направленный источник — свет луны. Светлячок — точечный источник света. Используется технология перспективных карт теней, способная улучшить качество теней получаемых с помощью растровых карт, в случае большого удаления поверхности от отбрасывающего на нее тень объекта — традиционно слабое место карт теней. Именно на таких, достаточно открытых сценах эта технология обеспечивает заметную разницу в качестве. Используются карты нормалей, карты для диффузного освещения, с детализированными текстурами, процедурный расчет рассеянья света для неба. В общем и целом, этот тест гораздо сильнее нагружает CPU.
Canyon Flight
Пролет по каньону. Большие открытые пространства, много земли, и неба, достаточно сложных с точки зрения пиксельных шейдеров. Фактически, по балансу этот тест близок к (очень качественному по изображению) полетному симулятору. Поверхность воды строится с использованием карт отражений и преломлений, в ней отражается весь окружающий ландшафт. Более того, используется достаточно интенсивный попиксельный расчет френелевских коэффициентов для воды. Источник света только один, солнце. Он действует на очень большом открытом пространстве, везде отбрасывая тени. Данный тест следует признать очень интенсивным с точки зрения закраски и расчетов в пиксельных шейдерах.
Формула расчета конечного результата:
Конечный результат = (GT1fps * GT2fps * GT3fps)^(1/3) * 250
Говорит о равноправной «ценности» тестов и желании сгладить отрыв очень сильных ускорителей от средних (все верно, разница между 100 и 200 fps не так важна в реальных применениях как разница между 30 и 60, что и подчеркивает эта формула).
Синтетические тесты
CPU
Для расчета производительности CPU используется прогон двух игровых тестов, в минимальном разрешении 640х480 с минимальными шейдерами 2.0. При это вершинные шейдеры перекладываются на CPU. Назвать это полноценным тестом CPU нельзя, т.к. в реальных играх он будет выполнять несколько иные задачи, связанные с расчетом AI и физики в игре, а не программной эмуляцией вершинных шейдеров. Как бы там ни было, используются параллельные задачи для генерации исходных данных и таким образом может быть получено преимущество от многопроцессорной, многоядерной или HyperThreading системы.
Скорость заполнения (Fill Rate)
Тест не изменился (есть внешние изменения но алгоритм тот же), тестируется наложение текстур на большие объекты (текстурирование) и наложение большого количества текстур на объекты (мультитекстурирование).
Пиксельные шейдеры
Для этого теста используется расчет куска стены каньона из третьего игрового теста. Напомним, что именно в этом тесте используются очень интенсивные вычислительно пиксельные шейдеры, моделирующие многие явления на попиксельном уровне с помощью расчетов. Однако, надо учесть, что данный материал не рассчитывается полностью как процедурная текстура а привлекает множество различных карт, и таким образом этот тест зависит не только от производительности пиксельных шейдеров но и в достаточной степени от скорости локальной памяти карты и эффективности кэширования текстур. Для более точного определения баланса производительности блоков ускорителя надо использовать более локальные синтетические тесты, нагружающие четко только одну подсистему.
Вершинные шейдеры
Тест состоит из двух частей. Первая тестирует относительно несложный геометрический шейдер на моделях с огромным количеством вершин — т.е. тестирует близкую к пиковой пропускную способность и характерную производительность ускорителя на детальной геометрии,
а второй тест наоборот, исследует достаточно сложные и длинные вершинные шейдеры, анализируя в итоге производительность вершинных блоков на сложных задачах.
Обработка пакетов
Очень интересный тест, нужный скорее разработчикам игровых приложений, нежели обычным энтузиастом игрового железа. Проверяется зависимость эффективной работы ускорителя от среднего размера передаваемых ему на отрисовку наборов данных (пакетов, batches). Слишком много пакетов - слишком высокая нагрузка на CPU и дополнительные затраты по синхронизации работы ускорителя и программы. Слишком большой пакет — очень мало гибкости в отрисовке, нельзя сменить текстуры и шейдеры. Оптимальный баланс — забота разработчика и для разных ускорителей он может оказаться разным. Как бы там нибыло, такие вещи лучше проверять на своих движках и играх а не на движке 3DMark05 — поэтому этот тест видится нам несколько избыточным и не очень осмысленным в контексте общего игрового теста. Тем более, что влиять на состав и характер заданий мы не можем, нам доступны только заранее подобранные параметры и меняется только размер пакета.
Впрочем, не будем так строги. Если какой то тест есть, его можно использовать или не использовать по выбору и всегда можно попытаться проинтерпретировать его результаты, с пользой для себя. А если его нет, то все гораздо хуже :).
Результаты тестирования
Конфигурация тестовых стендов
1. Компьютер на базе Athlon 64 3200+:
- процессор AMD Athlon 64 3200+ (L2=1024K);
- системная плата ASUS K8V SE Deluxe на чипсете VIA K8T800;
- оперативная память 1 GB DDR SDRAM PC3200;
- жесткий диск Seagate Barracuda 7200.7 80GB SATA.
- процессор Intel Pentium4 3600 MHz (225MHz × 16; L2=1024K, LGA775); Hyper-Threading включен
- системная плата ABIT AA8 DuraMAX на чипсете i925X;
- оперативная память 1 GB DDR2 SDRAM 300MHz;
- жесткий диск WD Caviar SE WD1600JD 160GB SATA.
На каждом стенде установлена операционная система Windows XP Professional Service Pack 2, DirectX 9.0с, использовались мониторы ViewSonic P810 (21") и IIYAMA Vision Master Pro 514 (22"). Драйверы ATI версии 6.497; NVIDIA версии 70.90.
- 3DMark05 Game1
- 3DMark05 Game2
- 3DMark05 Game3
- 3DMark05 MARKS
ВЫВОДЫ
Итак, тестовый пакет несомненно состоялся. С одной стороны достаточно унифицированный движек может не отражать каких-то конкретных аспектов различных жанров игр, с другой, для этого есть конкретные игры. В общем и целом игровые тесты можно считать не просто современными, а несколько опередившими время, что собственно и требовалось. Применение HLSL выглядит оправданной, и наиболее вероятной тенденцией всех игр будущего, как и сознательное задание шейдеров 2.0, как минимально необходимых. Оправданы и достаточно жесткие системные требования (2ГГц SSE CPU, последняя версия DirectX, ускоритель с шейдерами 2.0, 512 Мбайт оперативной памяти) - такова современная игровая машина. Этот тест нацелен на будущее, и именно в таком ключе он был и будет востребован. Даже следующее поколение ускорителей можно будет достаточно достоверно тестировать и сравнивать с использованием этого теста. Применение нескольких технологий теней и возможности компилировать под различные доступные профили версий шейдеров позволяет максимально использовать доступные возможности железа и не ввязываться в войну стандартов и следующие из нее обвинения в предвзятости к той или иной ведущей компании и их технологиям.
Синтетические тесты выглядят скорее «полу-синтетическими» но позволяют в первом приближении прощупать основные подсистемы чипа — пиксельную и вершинную часть. Тест CPU и тест на размер батчей судя по всему не очень адекватны.
Более полные сравнительные характеристики видеокарт этого и других классов вы можете увидеть также в наших 3DGiТогах.