Реальная производительность блока HW T&L

чипов серии NVIDIA GeForce/GeForce2


Предисловие

С момента объявления чипа GeForce256 компанией NVIDIA много говорится и пишется о таких технологиях, которые существенно улучшают качество рендеринга игровых видеокарт, как Hardware Transform and Lighting (далее HW T&L), Cube Environment Mapping (CEM), DOT3 Product Bumpmapping (DOT3).

И хотя поддержкой всех этих функций обладают еще карты на чипах ATI RADEON, должного использования в играх они пока не получили, но первые ласточки все-таки начинают появляться. В некоторых демонстрационных программах скорость рендеринга чипов GeForce оставляет желать лучшего, поэтому я решил узнать, как справятся видеокарты почти всего семейства GeForce с играми ближайшего будущего, так сказать переходного периода, то есть с поддержкой HW T&L, CEM, DOT3, но не использующих возможностей DirectX 8 в виде вертексных и пиксельных шейдеров. Это могут быть игры, нацеленные на использование DirectX 7 или OpenGL с расширениями от производителей видеокарт, в частности от NVIDIA. Я сразу расставлю рамки этого материала, куда не входят такие чипсеты, как ATI RADEON и S3 Savage2000, обладающие тоже HW T&L. Это сделано по причинам неработоспособности видеокарт на этих GPU с рядом тестовых инструментов (например X-Isle, Gothic Chapel), используемых в настоящей статье.

В основном, интересует скорость HW T&L, как одна из самых важных характеристик для будущих игр со средним количеством полигонов и применением новых CEM, DOT3 и других эффектов. Определив этот показатель, можно примерно предположить геометрическую сложность сцены будущих игр.

Сразу хочу сказать, что на момент написания статьи я считаю средним количеством полигонов 30000-55000 полигонов на сцену, малым — все, что ниже этого порога (практически все сегодняшние игры), а большим - 60000-90000 полигонов на кадр. Это весьма субъективный подход, но так будет проще выражаться по поводу геометрической сложности сцены. Позже должны появиться игры с очень большим количеством треугольников (100000 и выше), но это будет не раньше конца года.

Я не буду уделять большого внимания пиксельным и вертексным шейдерам, так как основным API для применения шейдеров является DX8, а игр/технодемок показывающих эти возможности еще мало (а те, что есть, обычно используют референсный растеризатор, т.е. проще говоря, рассчитывают кадр программно). Большой минус чипов GF заключается в том, что они не поддерживают пиксельные шейдеры в полной трактовке версии 1.0, а ведь именно эта версия считается минимальной для DX8. Так что с выходом игр под шейдеры DX8, GF (как и все остальные сегодняшние чипы, включая конкурирующий ATi Radeon) возможно останется за бортом 3D индустрии. Но до этого еще год, как минимум, ну в самом лучшем случае месяцев 8-9. А потом выйдет X-Box, новые видеокарты от NVIDIA и ее конкурентов на чипах уже следующих поколений и только тогда DX8 должен будет получить широкое и заслуженное распространение.

Если появится возможность протестировать производительность в приложениях под DX8, я постараюсь обновить и дополнить статью. Со временем также возможно и тестирование видеокарт на следующих чипах NVIDIA (NV20) в тех же условиях, но это будет только после объявления чипов и выхода на них реальных видеокарт.

Немного теории

Теоретические измышления не будут особенно долгими, на практике скорость почти всегда отличается от теории в худшую сторону и каждый случай надо рассматривать отдельно. Дело здесь не столько в некотором завышении производительности чипов их производителями (хотя возможно это и бывает), а в невозможности создания приемлемых "тепличных" условий для достижения максимальной производительности в реальных приложениях. В некоторых синтетических тестах можно приблизиться к пиковой скорости чипа, но эта производительность не будет иметь ничего общего с реальной в игровых ситуациях. Поэтому я и поставил перед собой задачу узнать именно реальную производительность, используя последние разработки в области игровых движков и предположить возможную сложность геометрии в будущих играх этого года. По современным играм скорость T&L измерять мысль неудачная, так как полигональная сложность там, в самом лучшем случае около 20 тысяч полигонов в наипоследнейших играх, а в среднем и того меньше — 4-8 тысяч треугольников на кадр. Поэтому пришлось использовать несколько бенчмарков и демонстрационных программ.

Зная теоретическую скорость блока трансформации и освещения всех чипов NVIDIA (основные данные вы можете увидеть в таблице), можно предположить, что средняя производительность чипа GeForce по сравнению с более новыми продуктами (GF2GTS, GF2Pro, GF2Ultra) составляет около половины от их производительности, в зависимости от сравниваемого чипа. Значит и реальная скорость GeForce256 должна быть примерно в два раза меньше, чем у лучших представителей более нового поколения.



Характеристики GeForce256
SDR
GeForce256
DDR
GeForce2
MX
GeForce2
GTS
GeForce2
Ultra
Частота ядра/памяти (результирующая) 120/166 120/300 175/166 200/333 250/460
Пиковая скорость блока T&L, МПолиг/с 15 15 20 25 31
Пропускная способность памяти, Гб/с 2,7 4,8 2,7 5,3 7,4
Количество текстурных конвейеров/модулей 4/1 4/1 2/2 4/2 4/2
Пиковый филлрейт монотекстурирование / мультитекстурирование, МПикс/с 480/240 480/240 350/350 800/800 1000/1000

Так как поддержка HW T&L, CEM, DOT3, вертексных и пиксельных (частично — в OpenGL расширениях) шейдеров впервые появилась именно на GeForce, мы вправе ожидать не слишком выдающейся скорости при их использовании. Но для игр ближайшего будущего этого вполне может быть достаточно, ведь пока особенно высокодетализированная геометрия в играх только намечается. Тем более у пользователей накопился большой багаж видеокарт, не поддерживающих новые возможности, и это достаточно сильно тормозит нововведения в играх. Этот год должен слегка продвинуть нас к лучшей геометрической детализации игр и более широком применении таких эффектов, как DOT3, CEM. Первые ласточки уже начали появляться в прошлом году: Sacrifice, Giants и другие. Игры под OpenGL используют HW T&L почти все, а большинство игр под DX7, вышедших в последнее время, также умеют использовать HW T&L. Но, повторюсь еще раз, в них до сих пор используется малая детализация игрового мира, за очень редким исключением и пользы от применения HW T&L там крайне мало.

К необходимости высокодетализированной графики в сетевых баталиях 3D шутеров, подобных Quake III и Unreal Tournament, я отношусь с большим скептицизмом и не считаю >= 60 FPS жизненно необходимыми для всех остальных игр, но в сетевых играх высокая скорость для серьезного игрока нужна реально. А для большинства 3D аркад, несетевых FPS и TPS, RPG, стратегий, автосимуляторов, авиасимуляторов вполне достаточно около 40 средних FPS с минимальным выше 25. Эта скорость будет устраивать большинство людей, не считая особо упертых в производительность :) и/или состоятельных геймеров. С этой позиции я и попытаюсь рассмотреть работу видеокарт прошлого и сегодняшнего поколения от NVIDIA в будущих играх 2001 года.

Чего может не хватить видеокартам на чипах GeForce для нормальной скорости в ближайшем будущем?

  • Пропускная способность видеопамяти

    Пропускной способности видеокартам "нижнего уровня" (а это GeForce256 SDR, GeForce2 MX) при условии применения геометрии средней сложности и текстурного сжатия в играх близкого будущего в разрешениях 800х600х16/32, 1024х768х16 и в редких случаях 1024х768х32 должно хватать для одиночных игр. С применением DDR памяти с шириной шины 128-бит (т.е. не карта на GF2MX производства Creative) предел в разрешениях поднимается еще выше. Примером такой карты является GeForce256 DDR. Там разрешение 1024х768х32 будет доступно чаще.

    Для видеокарт среднего уровня при тех же условиях пропускной способности будет хватать на 1024х768х16/32, 1280х1024х16 и иногда 1280х1024х32. Ну а к высокому уровню (Pro, Ultra) еще добавится стабильно скоростной 1280х1024х32 и 1600х1200х16. Может быть и 32 битный вариант последнего кого-то вполне устроит.

    С другой стороны, чипам серии GeForce никогда еще не давали показать все свои возможности по филлрейту.

  • Скорость заполнения (филлрейт)

    Скорость заполнения у чипов всей серии GeForce была всегда выше, чем необходимая для этого пропускная способность видеопамяти и поэтому скорости заполнения у чипа GeForce256, к примеру, при номинале в 240 мегапикселей в секунду при мультитекстурировании и 480 без него при вышеописанных условиях также теоретически должно хватить для >=35-40 FPS. Еще раз скажу, что реальный филлрейт для видеокарт на основе GeForce всегда ограничивается пропускной способностью памяти, что в этом обзоре часто подтверждается.

  • Скорость встроенного геометрического сопроцессора

    Это самая сложная и интересная часть. В течение большей части следующего года должны выходить игры со средней геометрической детализацией и некоторым применением новых эффектов. И я считаю, что ориентироваться будут на карты GeForce первого поколения и GeForce2 MX, очень близкого к ним по скорости, как самые распространенные у пользователей. Поэтому могу предположить, что в играх этого года на GeForce256 и GeForce2 MX при стандартных установках будет около 30-40 FPS в среднем, при использовании самых распространенных разрешений экрана.

    Конечно, будут графические установки, для которых понадобятся более производительные системы, начиная с GeForce2 GTS. Наверное, производители не забудут и о тех несчастных :), у которых до сих пор стоят видеокарты, не имеющие блоков аппаратного расчета трансформации и освещения, поэтому игры будут доступны и для них, с некоторыми ограничениями, разумеется.

    Это было небольшое отступление, вернусь к нашим баранам (т.е. GeForce'ам). Теоретически, максимальная скорость HW T&L блока у GeForce256 равна 15 миллионам треугольников в секунду, что не так уж и мало. У GeForce2 производительность HW T&L составляет уже 25-31 млн. треугольников/с для разных частот чипа. Но в реальности, такой скорости можно добиться, лишь максимально снизив требования к пропускной способности памяти, филлрейту и т.д., что очень редко встречается в игровых условиях, и поэтому, будем считать, что пиковая скорость у всех GeForce чипов достаточная для средней полигональной сложности.

Основным фактором, ограничивающим скорость GeForce (да и других чипов тоже) при условии достаточной скорости центрального процессора в будущих играх будет именно соотношение возможностей блока аппаратного расчета трансформации/освещения и реального филлрейта, и поэтому тестирование я посвящу именно определению реальной скорости HW T&L блока у семейства GeForce, с учетом неблагоприятных условий.

Практическая скорость

Разрешения экрана для тестирования я выбрал 800x600 и 1024х768, 1280х1024 как часто используемые для разных видеокарт в играх. Глубину цвета использовал и 16 бит и 32 бит там, где это было возможно.

Для тестирования были отобраны следующие демки и бенчмарки:

  • X-Isle (OpenGL) от Crytek Studios — основной бенчмарк обзора

    Скриншоты (зачем я привожу несколько скриншотов для этой демки, поймете чуть позже):



    В кадре нет больших объектов, только ландшафт
           

    T-Rex'ы с простым текстурированием и с наложением DOT3 рельефа
           

    T-Rex'ы с эффектами CEM отражения и преломления, соответственно
           


    Краткое описание: одна из наиболее продвинутых демонстрационных программ, использующая HW T&L, CEM, DOT3 со встроенным бенчмарком. Остров X-Isle с разнообразным рельефом, населенный бабочками и четырьмя T-Rex'ами (с простым текстурированием, наложением рельефа, прозрачного с эффектом преломления, непрозрачного с отражением). Тест достаточно близок к реальным играм, поэтому принимается за основной бенчмарк в данном обзоре. Кроме того, хочу заметить, что на движке CryENGINE уже делаются и должны выйти несколько игр.

    Отличительные особенности: очень сложное текстурирование (текстуры высокого разрешения, детализированное текстурирование, карты освещения для всех моделей и динамические для движущихся, применение шейдеров с помощью OpenGL расширений от NVIDIA, DOT3 bumpmapping), геометрия чуть выше среднего уровня сложности (в среднем 58000-60000 полигонов на кадр), эффекты отражения на воде, CEM отражение и преломление.

    Применение: с помощью встроенного бенчмарка можно узнать среднюю частоту кадров (FPS), минимальный и максимальный FPS и мгновенный в каждую секунду теста. Также мной были записаны примерные значения количества полигонов в кадре в каждые 10 секунд времени прогона бенчмарка, чтобы посчитать мгновенное и среднее количество полигонов в кадре и, соответственно, реальную производительность HW T&L блока в разных условиях (с DOT3 bumpmapping, CEM по отдельности).

    Мой патч, открывающий некоторые настройки, спрятанные разработчиками, вы можете взять здесь. О приносимых им новых возможностях читайте дальше по тексту, пока качается файл ;).

  • TreeMark (OpenGL) от NVIDIA

    Скриншот:

    Краткое описание: высококачественное дерево, больше и сказать то нечего. Один из немногих T&L бенчмарков, позволяющих задавать условия тестирования пользователю. Не подходит как чисто игровой тест, но некоторые выводы на его основе сделать можно.

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

    Применение: при трех различных вариантах установок (количество полигонов и источников света) прогонялся бенчмарк и на основе полученной частоты кадров делался расчет производительности T&L блока.

  • Alien Technology demo — Gothic Chapel (Direct3D) от FUN labs

    Скриншот:

    Краткое описание: технологическая демка весьма качественной готической церквушки, с интересными световыми эффектами, там даже многополигональная водичка есть (куда уж без нее :)). Применяются HW T&L, CEM, S3TC.

    Отличительные особенности: сжатые текстуры большого размера, средняя сложность геометрии (53000 полигонов в сцене), эффекты преломления и отражения, динамические источники света.

    Применение: Для определения мгновенного FPS использовался пакет Intel Graphics Performance Toolkit. При известной полигональной сложности сцены в Gothic Chapel и среднему FPS, рассчитанному на основе показаний GPT для каждой видеокарты, определялась реальная скорость геометрической части чипа.

  • 3DMark2000 (Direct3D) от MadOnion

    Скриншоты первого и второго игровых тестов:

           

    Краткое описание: один из самых популярных бенчмарков для Direct3D, в числе первых появился с нормальной поддержкой HW T&L.

    Игровые тесты показывают:

    1) ландшафт с вертолетами, танками, другой техникой и большим количеством деревьев. И вертолеты воюют между собой — типичный пример аркадной или даже симуляторной игры.

    2) небольшой кусок городишки (портового?) с людьми, кораблями, бочками, фонарями и т.д. Пример некоей RPG.

    Отличительные особенности: достаточно легкое текстурирование (всего 3-4Mb текстур в среднем в сцене), низкая/средняя (7000-53000 полигонов в среднем на сцену) геометрическая сложность, от 4 до 8 источников света.

    Применение: Использовались только игровые тесты из этого бенчмарка, так как синтетические не показывают реальной картины. Бенчмарк выдает средние значения FPS для известного среднего количества полигонов и источников света в сцене. Рассчитать производительность после этого несложно, что я с успехом и сделал :).

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

Основная система на базе Pentium III

  • Процессор — Intel Pentium III 1000EB
  • Cистемная плата — Chaintech 6OJV (i815)
  • Оперативная память — 256Mb PC133 (2xDIMM Transcend)
  • Жесткий диск — IBM DPTA 20Gb UltraDMA/66
  • Операционная система — Windows 98SE

С этой конфигурацией тестировались следующие видеокарты:

  • GeForce256 32Mb SDR — ELSA ErazorX
  • GeForce256 32Mb DDR — Creative 3D Blaster Annihilator Pro
  • GeForce2 MX 32Mb SDR — NVIDIA GeForce2 MX reference card
  • GeForce2 GTS 32Mb DDR — AOpen PA256 Deluxe
  • GeForce2 Ultra 64Mb DDR — Leadtek WinFast GeForce2 Ultra

Дополнительная система на базе Intel Celeron

  • Видеокарта — AXLE (практически noname) GeForce с 32Mb SDRAM памяти
  • Процессор — Intel Celeron 300A, работающий на тактовой частоте 450MHz
  • Cистемная плата — Chaintech 6ZIA (i440ZX)
  • Оперативная память — 128Mb PC100 (2xDIMM Micron)
  • Жесткий диск — Quantum FB Plus KA 9Gb
  • Операционная система — Windows 98SE

Наконец то переходим к делу.

X-Isle, как основной бенчмарк, я перенес в конец статьи, думаю, что никто не обидится :). Начнем с почти синтетического бенчмарка. "Почти", потому что он все-таки ближе к действительности, нежели синтетические тесты из 3DMark2000, например.

TreeMark

Настройки:

Для тестирования я выбрал три разные настройки:

  • "treemark -tltest"
    установки по умолчанию: 4 источника света, 36 тыс. полигонов в сцене
  • "treemark -tltest -depth6 -lights4"
    установки: 4 источника света, 61 тыс. полигонов в сцене
  • "treemark -tltest -depth7 -lights8"
    установки: 8 источников света, 108 тыс. полигонов в сцене

Тестирование проводилось только в 16-битном цвете по причине полного и непонятного отказа TreeMark тестироваться в TrueColor на основной тестовой системе.

Результаты:

Эти условия вполне приемлемы для всех чипов серии — среднее количество полигонов и относительно небольшое количество источников света. Во всех случаях частота кадров превышает 35-40 FPS, и только видеокарте GeForce256 с памятью SDR разрешение 1280х1024 не дается. GeForce2 MX пока выигрывает у GF256 DDR. Но не забываем некоторую искусственность теста и не доверяемся ему полностью ;).

А это уже посложнее — более 60000 полигонов в кадре, только карты среднего уровня и выше прошли этот тест без заметных усилий. "Народная" карта на чипе GF2MX заметно обгоняет в этом тесте GeForce256 с DDR памятью, что говорит о большей производительности ее T&L блока. Но и она смогла перейти барьер в 35 FPS только в режимах, меньших 1280х1024. А карты прошлого поколения уже не могут показать себя при такой геометрической сложности — еле-еле вытягивают близкие к 35 FPS показания в самом низком из тестируемых разрешении. У "полных" версий GeForce2 проблем не наблюдается.

Ну что тут можно сказать — не хватает мощи для такой сложной обстановки у T&L движка GeForce, сильно не хватает. Тут и количество источников света в два раза больше, а оно сильно влияет на производительность, да и самих полигонов свыше 100000. В этом режиме скорость у всех карт явно недостаточна. Вот и предел реальной максимальной производительности GeForce2 нащупывается — менее 100000 треугольников на кадр при 6-8 аппаратных источниках света.

Берем за основное разрешение 1024х768, как самое приемлемое и распространенное, и достаточное по скорости во многих случаях. Рассчитываем реальную скорость движка трансформации и освещения по этому бенчмарку:


Настройки 1
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 44,7 36000 1610
GeForce256 DDR 51,4 36000 1850
GeForce2 MX 54,9 36000 1980
GeForce2 GTS 76,8 36000 2760
GeForce2 Ultra 99,5 36000 3580


Настройки 2
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 30,8 61000 1880
GeForce256 DDR 33,6 61000 2050
GeForce2 MX 40,1 61000 2450
GeForce2 GTS 52,3 61000 3190
GeForce2 Ultra 66,7 61000 4070


Настройки 3
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 11,4 108000 1230
GeForce256 DDR 11,7 108000 1260
GeForce2 MX 16,0 108000 1730
GeForce2 GTS 19,0 108000 2050
GeForce2 Ultra 24,0 108000 2590

Пояснения:

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

Удвоение количества источников света приносит полуторакратное снижение скорости. В третьей конфигурации филлрейт уже почти не ограничивает скорость и в результате — GF2 MX значительно выигрывает у обоих представителей первого поколения чипов, а их скорости отличаются друг от друга незначительно. Также и скорости старшей линейки пропорциональны тактовой частоте их GPU.

Alien Technology demo — Gothic Chapel

Эта демо программа не предусматривает настроек, поэтому использовалась по принципу "как есть". Движок от FUN labs не дает возможности использовать 16-битный цвет, поэтому ограничиваемся 32-битным.

У этой демки нет встроенного бенчмарка (измерения среднего FPS) поэтому пришлось использовать утилиту Intel Graphics Performance Toolkit. С помощью нее замерялся мгновенный FPS в течение прохождения одного цикла демки, а затем рассчитывалась средняя частота кадров. При этом надо учитывать, что определение FPS с помощью Intel GPT приводит к снижению результатов на несколько процентов (около 5-10%). Измерения проведены в одном, самом популярном разрешении, 1024х768х32.

Результаты:


Самый темный столбик в диаграмме показывает минимальную частоту кадров, светлый — максимальную, а тот, что посередине — средний FPS.

Похоже, что трехмерный движок у FUN labs недостаточно оптимизирован, так как результаты, показанные с его помощью, удивительно низки. Более-менее достаточную скорость дает только самая производительная на сегодняшний день GeForce2 Ultra! Да и то минимальный FPS очень низок даже в этом случае. Про остальных кандидатов и говорить не хочется. Скорее всего, задачей FUN labs не была оптимизация движка под скорость, а эта демка должна была показать только практические возможности чипов GeForce.

Также на основе данных о FPS я построил и график частоты кадров, усредненной в каждые десять секунд прогона демки.

Заметно небольшое падение скорости в момент приближения к фигуре ангела, для рендеринга которого используется кубическое наложение карт среды. Почти у всех видеокарт прослеживается практически идентичные закономерности изменения FPS, только GeForce2 MX выпала из этой стройной картины. Возможно, здесь сказывается некоторая новизна чипа и недостаточная отлаженность драйверов под него. Но, несмотря на все это, карта на самом распространенном сейчас и относительно недорогом чипе победила своего дорогого и оснащенного гораздо более быстрой памятью конкурента GeForce256 DDR.

Расчеты:


Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 16,8 53000 890
GeForce256 DDR 18,9 53000 1000
GeForce2 MX 21,3 53000 1130
GeForce2 GTS 28,6 53000 1520
GeForce2 Ultra 36,3 53000 1920

Пояснения:

Не забываем о том, что эти данные занижены на 5-10%.

Достаточно заметно влияние реального филлрейта на примере максимального FPS - у GeForce256 c DDR памятью и GeForce2 GTS они отличаются примерно на ту же величину, на какую различается полоса пропускания памяти у этих видеокарт. В то время как у показавшей лучший средний результат GeForce2 MX, по сравнению с GeForce256 DDR, максимально достижимая частота кадров гораздо меньше.

Относительно низкая общая производительность может объясняться применением CEM, но эффекты преломления и отражения применяется только для фигуры ангела, количество полигонов в которой составляет небольшую часть от общего количества. Поэтому я делаю вывод о недостаточной оптимизации 3D движка этой демонстрационной программы.

Кроме того, количество полигонов в демке почти не зависит от времени, что вместе с сильно отличающимися показаниями среднего и максимального FPS говорит о том, что скорость ограничивается не производительностью HW T&L блоков протестированных видеокарт, а какой-то другой величиной, которой может быть филлрейт с учетом ограничений полосы пропускания.

3DMark2000

Для тестирования я выбрал самые сложные настройки для видеокарт. Только в них обеспечивается реальная нагрузка на HW T&L блок. Для обоих игровых тестов был использован High Detail режим.

Тест 1: 53000 полигонов, 5 источников света, 2,8Mb текстур

Тест 2: 37000 полигонов, 8 источников света, 3,4Mb текстур

Результаты:


То, что карта на GeForce2 MX проиграла всем, кроме GeForce256 SDR плюс значительное улучшение скоростных показателей при понижении тестовых разрешений говорит о том, что и в этом тесте производительность сильно ограничивается полосой пропускания памяти.

Приемлемая скорость для "слабых" карт достигается в низком разрешении 800х600, для видеокарт с памятью DDR и 1024x768. У GeForce2 Ultra вообще не возникло никаких проблем.

По сравнению с 16 бит производительность упала в среднем в 1,5 раза, что в очередной раз доказывает мой вывод о небольшом влиянии на результаты этого теста производительности HW T&L блока и значительном влиянии филлрейта. Планка играбельных разрешений упала для самых младших моделей ниже 800х600 и только DDR память спасла от этого GeForce256 DDR. Для GeForce2 GTS и GeForce2 Ultra все повеселее, соответственно 800х600 и 1024х768.

Плавненько переходим ко второму игровому тесту.

Интересно, все видеокарты показывают близкие показатели, кроме разрешения 1280х1024. Добавив то, что тестирование на "альтернативной" конфигурации с процессором Celeron 450 давало результаты немногим более 20 кадров в секунду, и они почти не зависели от разрешения, можно с уверенностью указать на ограничитель скорости — главный процессор системы. Особого влияния скорости блока аппаратной трансформации и освещения не заметно. Скорость достаточна везде и всегда. GeForce2 MX слегка выигрывает у своего конкурента GeForce256 DDR именно за счет большей скорости аппаратных геометрических расчетов.

При увеличении глубины цвета до 32 бит показатели GeForce2 Ultra снижаются очень незначительно, а для нижних представителей линейки падение скорости доходит до полутора раз. Также сказывается недостаточность полосы пропускания локальной видеопамяти. GeForce256 DDR тут уже опережает основного соперника — карту на основе GeForce2 MX.

Расчеты:

За расчетное разрешение принимаем 1024х768х16 и 1024х768х32, как средние и самые приемлемые по данному тесту. Реальная скорость движка трансформации и освещения по версии 3DMark2000:


Тест 1 — 1024х768х16
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 31,2 53000 1650
GeForce256 DDR 38,1 53000 2020
GeForce2 MX 31,7 53000 1680
GeForce2 GTS 51,1 53000 2710
GeForce2 Ultra 62,6 53000 3320
Тест 1 — 1024х768х32
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 21,4 53000 1130
GeForce256 DDR 26,8 53000 1420
GeForce2 MX 20,6 53000 1090
GeForce2 GTS 33,5 53000 1780
GeForce2 Ultra 47,0 53000 2490
Тест 2 — 1024х768х16
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 42,1 37000 1560
GeForce256 DDR 43,1 37000 1590
GeForce2 MX 44,5 37000 1650
GeForce2 GTS 48,0 37000 1780
GeForce2 Ultra 47,7 37000 1760
Тест 2 — 1024х768х32
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 34,8 37000 1290
GeForce256 DDR 40,2 37000 1490
GeForce2 MX 38,9 37000 1440
GeForce2 GTS 45,4 37000 1680
GeForce2 Ultra 46,8 37000 1730

Пояснения:

Я думаю, что общее понижение производительности во втором тесте по сравнению с первым, связано с увеличением источников света. Также интересно и то, что при меньшем количестве полигонов на сцену во втором тесте не дают показать возможности аппаратного T&L полностью.

По результатам 3DMark2000 можно сделать вывод о том, что даже при максимально возможной геометрической сложности в этих тестах производительность HW T&L играет не такую уж сильную роль. Поэтому все чипы GeForce и карты, построенные на их основе, вполне спокойно справятся со средней геометрической детализацией. Блок T&L не будет ограничивать при этом скорость, и даже при 8 аппаратных источниках света в среднем на сцену. Дело в том, что в игровых тестах этого бенчмарка, источники света не освещают все треугольники сцены сразу, а имеют ограниченную зону действия, в отличие от большинства синтетических тестов.

И, наконец, последний и самый интересный тест.

X-Isle

Особых настроек у демы версии 1.02 нет (а точнее не было до моего патча), кроме выбора разрешения экрана и еще некоторых мелочей.

Для начала средние FPS по всему циклу теста, подсчитываемые программой:

Еще разок скажу про основное ограничение в виде филлрейта. Но самое интересное заключается в том, что пропускная способность уже не так сильно влияет на производительность, как в прошлых тестах! Иначе чем можно объяснить близкие результаты GeForce256 SDR и GeForce256 DDR? А вот результаты младшей из GeForce2 выгодно отличаются от них в лучшую сторону. Значит дело в чем-то другом. Поищем внимательно чуть позже, а пока посмотрим на результаты в 16-битном цвете:

Только GeForce2 Ultra смог показать нормальную скорость во всех протестированных разрешениях. Его младший брат GeForce2 GTS не смог выдержать только в 1280х1024. Видеокарты на чипах GeForce256 показали ужасно низкую скорость, совершенно недостаточную для нормальной игры. GeForce2 MX еле вылез только в 800х600х16. Вот что значит игровой движок действительно нового поколения!

Ну что тут можно сказать, карты низшего уровня скатились еще дальше, а "народный" GeForce2 MX присоединился к ним с результатами ниже 30 FPS в среднем. Старшие представители также не обошлись без потерь — их минимально допустимые игровые разрешения опустились на шаг ниже, до 800х600 и 1024х768 для GF2 GTS и GF2 Ultra соответственно.

На первый взгляд — очень низкие результаты, часто неприемлемые для нормальной игры. Но пока не будем делать выводов, а посчитаем предварительные результаты производительности T&L:

Расчеты(также проводились в среднем разрешении 1024x768):


1024х768х16
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 19,5 58000 1130
GeForce256 DDR 20,5 58000 1190
GeForce2 MX 27,8 58000 1610
GeForce2 GTS 40,0 58000 2320
GeForce2 Ultra 45,1 58000 2620
1024х768х32
Видеокарта Средний FPS Полигонов в сцене Полигонов в секунду
GeForce256 SDR 15,1 58000 880
GeForce256 DDR 17,0 58000 990
GeForce2 MX 20,6 58000 1200
GeForce2 GTS 32,4 58000 1880
GeForce2 Ultra 39,2 58000 2270

Да, что-то маловато будет для GeForce256, учитывая данные прошлых тестов, по результатам которых они всегда были близки с GeForce2 MX. Попробуем разобраться.

Во время тестирования меня удивил один интересный факт - при тестировании систем на чипах GeForce256, обычно, во время теста, скорость была вполне приличной, но при появлении T-Rex'ов с эффектами отражения и преломления скорость сразу падала ниже 10 FPS. Посмотрев, что моменты с применением кубического текстурирования в бенчмарке занимают почти половину всего времени, я решил для начала построить график мгновенного FPS для всех карт, чтобы выявить провалы у чипов GeForce256.

Вот оно! Сначала скорость GeForce2 MX была даже ниже скорости карты GeForce256 SDR. И только потом, после первого T-Rex'а с эффектом CEM карты на чипах GeForce256 сильно сдали позиции, скорость упала ниже 10 кадров в секунду. В перерыве между показом CEM текстурированных T-Rex'ов скорость возвращалась к нормальному значению.

Не могу точно сказать, что является причиной таких результатов, вряд ли это недоработка драйверов, ведь GF256 существует уже не первый год и такую оплошность давно бы заметили и исправили. Может быть, присутствует недостаток в движке CryENGINE, но они сами пишут в сопроводительном текстовом файле к демке про понижения скорости на картах GeForce256, так что, скорее всего именно чипы семейства GeForce2 были доработаны компанией NVIDIA для повышения скорости CEM.

Чтобы измерить производительность HW T&L, необходимо было посчитать среднюю сложность сцены. Сам бенчмарк данных о количестве треугольников не предоставлял, поэтому пришлось выкручиваться по-своему. При использовании Intel GPT демка проигрывалась очень медленно и с множеством графических артефактов, и поэтому я решил измерить среднюю геометрическую сложность "вручную":

Примерно в каждые 10 секунд я записывал значения количества полигонов в кадре и позже вывел из них среднее число. Эти измерения конечно несколько грубоваты, но если нет ничего другого, то и это подойдет. Получилось 58000 полигонов на сцену в среднем.

А вот и примерный график геометрической сложности сцены.

Количество полигонов во время теста изменяется в пределах 35-90 тыс. полигонов на кадр при среднем их количестве около 58000.

Больших провалов на графике немного, сложность геометрии достаточно хорошо распределена по всему бенчмарку. Вероятно, сказывается хорошая реализация геометрического Level Of Depth (LOD). Большой пик в середине графика хорошо связан со скоростью в предыдущем графике — во время уменьшения количества полигонов до 35 тыс. скорость значительно возрастает (самые большие пики у всех видеокарт).

Имея возможность сравнить производительность аппаратной трансформации и освещения с CEM и без него, отдельно друг от друга, чтобы получить реальную скорость T&L и ее падение при включении CEM, я сделал такую таблицу (для этого тестирования использовалась вторая система на процессоре Celeron в разрешении 800х600х16):


Измерение КПолиг/кадр FPS КПолиг/кадр Комментарии
1 80 26 2080  
2 70 42 2940 текстурирование
3 70 37 2590 текстурирование
4 65 33 2145  
5 45 35 1575 DOT3 рельеф
6 60 30 1800 DOT3 рельеф
7 50 35 1750  
8 50 40 2000  
9 60 9 540 CEM преломление
10 60 9 540 CEM преломление
11 60 9 540 CEM преломление
12 35 65 2275  
13 80 26 2080  
14 60 9 540 CEM отражение
15 50 9 450 CEM отражение
16 55 9 495 CEM отражение
17 50 9 450 CEM отражение
18 50 9 450 CEM отражение
19 60 32 1920  
20 40 45 1800  
Средн. 58 26 1448  
Без CEM   37 2080  
CEM   9 501  

Вот теперь все стало понятно. По данным таблицы видно, что скорость в обычных режимах на GeForce256 SDR была вполне нормальна и составляла 30-45 FPS, а вот в моменты с попаданием в кадр T-Rex'ов с CEM отражением и преломлением скорость снижалась до 9 кадров в секунду, что является абсолютно неприемлемой величиной для любого игрока. Из проведенного расчета видно, что средний FPS без учета эффектов CEM составлял 37 FPS, что даже несколько выше границы, выбранной мной в качестве нижней. При этом скорость блока HW T&L составляет чуть больше 2000000 полигонов в секунду, а в режимах с CEM падает до 500000 полигонов в секунду, т.е. в 4 раза.

Чтобы увидеть падения скорости и средний FPS с учетом CEM и без него более наглядно, посмотрите на этот график:

На графике — мгновенная частота кадров (красная линия), средняя частота кадров с учетом CEM (черная) и без этого эффекта (синяя).

Скрытые настройки X-Isle

Во время тестирования с помощью бенчмарка X-Isle, я нашел несколько настроек, спрятанных разработчиками от пользователей по какой-то неизвестной причине. Возможно, они припрятали их до лучших времен, то есть до следующей версии. После некоторых изменений в исполнимом файле, я открыл эти дополнительные настройки и решил протестировать прирост производительности, связанный с их изменением.

Патч, открывающий эти несколько настроек, спрятанных разработчиками в Crytek X-Isle 1.02, вы можете взять прямо здесь, а можете и на моем сайте.

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

Те установки, что работают, позволяют изменять/отключать некоторые графические навороты. В процессе обычного тестирования дополнительные настройки не изменялись.

Этот тест проводился в разрешении 800х600х16 на второй системе c процессором Celeron.

Все визуально неработающие настройки показывают одинаковые результаты, а вот работающие весьма интересны:

  • отключение детализированных текстур (detail textures) процента на 3-4 увеличивает скорость рендеринга, что-то маловато для такой ресурсоемкой для других движков фичи.
  • отключение теней, статических и динамических (shadows) увеличивает средний FPS на значение до 20 процентов, что косвенно указывает на ограничение скорости, почти не связанное со скоростью HW T&L.
  • отключения тумана (glFog), солнца и облаков (clouds&sun) и небосвода (skybox) ускоряет демку на 1-2 процента в каждом случае. Это вполне может быть и погрешность измерений, но при изменении этих настроек результат на экране вполне заметен.
  • большой прирост скорости дает отключение T-Rex'ов (animals) - скорость возрастает практически в 2 раза! Эти результаты в очередной раз подтверждают мои выводы о скорости HW T&L блока у GeForce. При небольшом уменьшении количества полигонов в сцене (а эти динозавры являются не слишком сложными объектами) скорость возрастает в большие степени из-за низкой скорости CEM на чипах GeForce256.
  • наименования геометрических настроек привели меня в некоторое замешательство:

    При установке Low res textures (и при чем здесь текстуры?) размеры основных текстур остаются обычными, а геометрическая детализация падает до 10-25 тыс. полигонов на кадр. Границы геометрического LOD сильно приближены к камере, намного ближе, чем в стандартном режиме. При этих условиях GF256 SDR показывает ровно в два раза лучшие результаты.

    При установке No LOD полигональная сложность неоднозначна и иногда доходит до 120000 полигонов, а иногда намного ниже. Но основным тормозом является выключение LOD для геометрии при выборе этого режима. Скорость ужасающе низка — она падает более чем в 2 раза.

И последним пунктом в графике является набор настроек для обеспечения высокой, почти максимальной скорости maximum speed — изменены настройки, которые оказывают положительное влияние на скорость в ущерб качеству. При этой оптимизации средняя скорость на моей системе возросла в 3,7 раза и составила почти 84 FPS. Можно увеличить FPS и еще, но эту возможность я оставляю вам для собственных экспериментов :). Но можно сказать, что способ настройки этого движка для сетевых игроков, который обеспечивает максимальную производительность, найден.

Заключение

На основе приведенных данных о скорости трансформации и освещения видеокарт на чипах практически всего семейства GeForce я могу сделать вывод о хорошей производительности карт среднего и высокого уровня и приемлемой у карт низшей ценовой категории для игр 2001 года.


Сводная таблица средних результатов
Видеокарта TreeMark 3DMark2000 X-Isle Сред. Полиг/кадр* Индекс**
GF256 SDR 1573 1408 1003 1328 33206 100.0%
GF256 DDR 1721 1630 1088 1480 36993 111.4%
GF2 MX 2050 1464 1404 1639 40985 123.4%
GF2 GTS 2669 1985 2100 2251 56279 169.5%
GF2 Ultra 3414 2326 2445 2728 68210 205.4%

* — значение среднего количества полигонов на кадр рассчитано исходя из 40 средних FPS.

** — относительная производительность по отношению к GeForce256 с памятью SDR

При использовании в будущих играх промежуточного периода среднего количества полигонов в кадре не более 40000-50000 при 4-5 аппаратно обсчитываемых источниках света скорость видеокарт на GPU GeForce256 и GeForce2 MX будет достаточна для игр в большинстве жанров. При использовании новых эффектов, таких как отражение и преломление с помощью Cube Environment Mapping, активного использования пиксельных шейдеров в OpenGL, скорость у первой GeForce и у "народной" GeForce2 MX может сильно упасть, и будет приемлема лишь при 25000-30000 полигонах в кадре, а то и ниже, в зависимости от количества примененных эффектов. Некоторые технологии могут быть применены без особых опасений — например, DOT3 bumpmapping оказывает меньшее влияние на производительность и позволяет использовать достаточно большую сложность сцены.

T&L производительность чипов GeForce2 теоретически и практически является в полтора-два раза большей, поэтому они способны к обработке геометрии при количестве полигонов, одновременно рассчитываемых в кадре примерно в 1,5-2 раза. Получаем около 75000-90000 полигонов при неполном использовании возможностей аппаратного освещения и некотором использовании новых эффектов и 40000-50000 полигонов при их широком применении. Но при использовании столь большого количества полигонов, близкого к 100 тысячам, может сказаться недостаточная производительность таких параметров системы, как скорость центрального процессора, который просто не сможет приготовить данные для HW T&L и малая пропускная способность AGP, по которой иногда и передаются эти геометрические данные.

Сильно ограничивает возможности всех чипов GeForce недостаточная пропускная способность видеопамяти. Практически во всех случаях это ограничение было хорошо заметно, но особенно в 32-битных режимах — там производительность ограничена в большей степени эффективным филлрейтом, нежели скоростью HW T&L блока у GPU.

Таким образом, реальная средняя скорость HW T&L движка у GeForce256 на современных игровых 3D движках составляет не более 1,5-2 миллионов реально оттекстурированных, освещенных и отсеченных (clipped) полигонов в секунду. При использовании большего количества источников света, применении различных эффектов скорость падает почти вдвое (8 источников света по сравнению с 4-5), а в отдельных случаях с CEM и вчетверо.

Реальная скорость трансформации и освещения треугольников у GeForce2 достигает 2,5-4 млн. полигонов в секунду. Больших падений скорости, подобных CEM на GeForce256 замечено не было. Но ограничение филлрейта, скорости центрального процессора системы и небольшого количества треугольников даже в последних приложениях иногда не дает HW T&L у GeForce2 показать всю свою мощь.

Из семейства GeForce2 резко выделяется чип GeForce2 MX, карты на его основе являются самыми недорогими из всей протестированной линейки, дополнительным тормозом для них является относительно низкая пропускная способность локальной видеопамяти, поэтому их производительность намного ближе к GeForce256 DDR и GeForce256 SDR, чем к картам на чипах GeForce2. Но в среднем, обнаруживается небольшое превосходство над более старыми чипами.

Осмелюсь предположить, что большая часть игр промежуточного периода с начала 2001 года и до широкого использования шейдеров DX8, будут ориентированы на производительность GeForce256 и GeForce2 MX, как минимально допустимую.

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



Большое спасибо за неоценимую помощь в тестировании Андрею Воробьеву




Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.