| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Реальная производительность блока HW T&L чипов серии NVIDIA GeForce/GeForce2 Предисловие С момента объявления чипа GeForce256 компанией И хотя поддержкой всех этих функций обладают еще карты на чипах 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. А потом выйдет Если появится возможность протестировать производительность в приложениях под 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 для нормальной скорости в ближайшем будущем?
Основным фактором, ограничивающим скорость GeForce (да и других чипов тоже) при условии достаточной скорости центрального процессора в будущих играх будет именно соотношение возможностей блока аппаратного расчета трансформации/освещения и реального филлрейта, и поэтому тестирование я посвящу именно определению реальной скорости HW T&L блока у семейства GeForce, с учетом неблагоприятных условий. Практическая скорость Разрешения экрана для тестирования я выбрал 800x600 и 1024х768, 1280х1024 как часто используемые для разных видеокарт в играх. Глубину цвета использовал и 16 бит и 32 бит там, где это было возможно. Для тестирования были отобраны следующие демки и бенчмарки:
Для определения скоростных показателей использовалась следующие конфигурации: Основная система на базе Pentium III
С этой конфигурацией тестировались следующие видеокарты:
Дополнительная система на базе Intel Celeron
Наконец то переходим к делу. X-Isle, как основной бенчмарк, я перенес в конец статьи, думаю, что никто не обидится :). Начнем с почти синтетического бенчмарка. "Почти", потому что он все-таки ближе к действительности, нежели синтетические тесты из 3DMark2000, например. TreeMark Настройки: Для тестирования я выбрал три разные настройки:
Тестирование проводилось только в 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, как самое приемлемое и распространенное, и достаточное по скорости во многих случаях. Рассчитываем реальную скорость движка трансформации и освещения по этому бенчмарку: |
Видеокарта | Средний 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 |
Видеокарта | Средний 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 |
Видеокарта | Средний 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: |
Видеокарта | Средний 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 |
Видеокарта | Средний 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 |
Видеокарта | Средний 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 |
Видеокарта | Средний 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): |
Видеокарта | Средний 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 |
Видеокарта | Средний 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. Все визуально неработающие настройки показывают одинаковые результаты, а вот работающие весьма интересны:
И последним пунктом в графике является набор настроек для обеспечения высокой, почти максимальной скорости 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, в этих условиях покажет себя еще с более лучшей стороны и позволит игроку не чувствовать временных снижений скорости в некоторых моментах геймплея. Большое спасибо за неоценимую помощь в тестировании
Андрею Воробьеву |
|
| ||||||||||||||||
|