ОБЪЕКТИВНОСТЬ БЕЗ КОМПРОМИССОВОбъективность Без Компромиссов В Мире Компьютеров
НОВОСТИ САЙТАТЕСТИРУЕМ ВМЕСТЕИНТЕРНЕТ и ПОВСЯКО-РАЗНОСОФТ ПРОЕКТЫНАШИ ССЫЛКИ
ГЛАВНАЯ >> ТЕСТИРУЕМ ВМЕСТЕ >> ВИДЕОКАРТЫ: Нанометровая граница позади

НАЗВАНИЕ СТАТЬИ: Нанометровая граница позади
АВТОРСТВО: Алекс Наб
ДАТА НАПИСАНИЯ: Апрель 2006 года
ДАТА ПЕЧАТНОЙ ПУБЛИКАЦИИ: Июнь 2006 года ( ISSN 0235-3520 )
ДАТА ПОСЛЕДНЕЙ РЕДАКЦИИ: Май 2006 года
Алекс Н.

СОДЕРЖАНИЕ

  • Вступление
  • Что такое AA и AF
  • Примеры работы режимов AA и AF
  • Как мы тестировали
  • nVidia GeForce 7900GTX
  • ATI Radeon X1900XTX
  • Что показали тесты
  • РАЗМАХАЙКА: Как тестировать в игре Serious Sam 2
  • Таблица 1. Сравнительные характеристики видеоадаптеров
  • Таблица 2. Результаты тестирования в реальных играх
  • Таблица 3. Результаты выполнения 3D-тестов 3DMark06
  • Таблица 4. Результаты выполнения 3D-тестов 3DMark03
  • Таблица 5. Результаты выполнения SPECViewperf8

    Товарищи, нанометровая революция, о необходимости которой еще в 1965 г. твердил господин Мур, свершилась! Вслед за процессорными гигантами Intel и AMD нанометровую границу (100 нм) успешно преодолели все основные производители видеокристаллов - ATI, S3 Graphics и nVidia. И теперь уже можно говорить, что возврата в прошлое не будет, а новый рубеж 90 нм подарит всем пользователям очередные рекорды производительности, которые мы и постараемся сегодня зафиксировать в самых актуальных игровых приложениях.
    Итак, встречайте - две ультрасовременные платы nVidia GeForce 7900GTX и ATI Radeon X1900XTX. Сделаны по технологическому процессу 90 нм и стоят сумасшедших денег. Так давайте протестируем их не только в "тепличных" условиях без высоких режимов анизотропной фильтрации и антиалиасинга, как мы проверяли месяц назад недорогие акселераторы, а с использованием различных сочетаний восьмикратной фильтрации и четырехкратного сглаживания. Если же последние предложения покажутся вам загадочными, позвольте вначале провести маленький ликбез на тему "Что такое анизотропная фильтрация и зачем нужен антиалиасинг".

    Что такое AA и AF
    Современные методы визуализации в играх отображают трехмерные сцены на 2D-экране монитора и на первый взгляд делают это так хорошо, что неискушенному пользователю не нужны ни анизотропная фильтрация, ни антиалиасинг. Но давайте представим себе главного героя 3D-игры от первого лица, скажем прораба, который проверяет на глаз под острым углом ровность кирпичной кладки, которую только что положили "залетные гастарбайтеры".
    Нет, нас не будут интересовать качество строительных работ и проблемы легализации иностранной рабочей силы в России, мы лишь попробуем взглянуть под углом на аналог Великой стены в виртуальном мире. Программа отобразит длинный прямоугольник с перспективой, на которую натянет кирпичную текстуру. А поскольку этот прямоугольник на 2D-экране будет у мнимого горизонта стремиться превратиться в треугольник, то для четкости изображения кирпичной кладки потребуются кирпичные текстуры с разными разрешениями (MIP-текстуры), ведь на переднем плане кирпичи выглядят крупнее, а чем дальше - тем они мельче.
    Но в любом случае придирчивый пользователь сможет заметить на представленной стене и размытости текстур, и видимые границы между MIP-уровнями, и другие недостатки. Так вот, чтобы избавиться от подобных артефактов на поверхностях под углами к камере (стены, потолки, дорожки, удаленные плоскости и т.д.), в играх применяются разные типы фильтраций: билинейная (bilinear filtering), трилинейная (trilinear filtering) и анизотропная (anisotropic filtering).
    Первый вид фильтрации создает плавные цветовые переходы между текстурными пикселами. Трилинейная фильтрация усредняет цвета пикселов между соседними MIP-текстурами, за счет чего MIP-границы скрадываются. Кстати, такая техника фильтрации еще называется изотропной (однородной) и работает с текстурными пикселами без учета их формы в 3D-пространстве.
    А вот анизотропная фильтрация в своей работе учитывает положение плоскости в пространстве, вследствие чего увеличивается детальность и четкость "натянутых" текстур. И в процессе подобной визуализации накладывает от одной до 16 отфильтрованных выборок на пиксел, что приводит к некоторому падению производительности при улучшении качества картинки.
    Заметить работу функции анизотропной фильтрации можно на фрагментах экранных снимков из игры Serious Sam 2. Для начала обратите внимание на нижние грани усеченной пирамиды на переднем плане. С отключенной фильтрацией хорошо видно сильное размытие текстуры на плоскостях, которые отображаются к нам под углом. Теперь взгляните на картинку в целом: столб, дорожка, кустарник, пальма, дом... Только с анизотропной фильтрацией мы видим четкие текстуры и качественное отображение даже самых мелких деталей.
    Теперь обратите внимание на грани разных объектов на фрагментах экранных снимков из игры Serious Sam. На краях оружия, столба, пальмы, дома, мячика и синего чебурашки хорошо видны так называемые "лесенки". Такие ступенчатые границы объектов образуются при желании отобразить наклонные линии посредством дискретного устройства - монитора, а подобный эффект называется алиасингом (aliasing).
    Разумеется, чем выше физическое разрешение экрана, тем корректнее отображаются наклонные прямые и, как следствие, проявление алиасинга заметно меньше. Хотя эффективно бороться с паразитирующим эффектом можно и в самых скромных разрешениях с помощью плавных цветовых переходов и технологии антиалиасинга (antialiasing - сглаживание).
    Различаются два вида антиалиасинга (AA): суперсэмплинг (supersampling) и мультисэмплинг (multisampling). При использовании режима суперсэмплинг сначала происходит рендеринг игровой сцены в более высоком разрешении, а затем получившаяся картинка масштабируется в рабочее разрешение. Но подобный метод антиалиасинга, хотя и позволяет получить качественное отображение игры на экране монитора, но влечет за собой резкое падение производительности.
    Поэтому в обычных режимах AA применяется так называемый мультисэмплинг, когда избыточными вычислениями обрабатываются лишь границы трехмерных объектов. При таком сглаживании используется метод множественной выборки (до 6/8 выборок на пиксел), сохраняя достойный уровень производительности.
    Возвращаясь к нашему обзору, отметим, что наиболее разумной связкой режимов антиалиасинга (AA) и анизотропной фильтрации (AF) для корректного тестирования высокопроизводительных акселераторов является комбинация четырехкратного AA и восьмикратной AF (AF:08, AA:04), поскольку в более "тяжелых" вариантах использования AA и AF на первый план в результатах тестов выходят вопросы об актуальности компромиссов между субъективным ощущением улучшения качества изображения и резким уменьшением количества кадров в секунду. Да и тут способы реализации алгоритмов анизотропной фильтрации и сглаживания в платах ATI и nVidia сильно различаются.

    Вот примеры работы разных режимов AA и AF с платой nVidia
    щелкните на фото для полного размера

    А вот примеры работы разных режимов AA и AF с платой ATI
    щелкните на фото для полного размера

    Как мы тестировали
    В качестве тестового стенда мы применили компьютер на базе процессора Intel Pentium eXtreme Edition 955, системной платы Intel D975XBX, двухканального ОЗУ A-Data Vitesta DDR2 667 общим объемом 1-Гбайт, жесткого диска Maxtor 7B250S0 SATA, оптического привода Sony CRX-300E Combo, блока питания Hiper Type-R 580W.
    Энергопотребление системного блока (без монитора) контролировалось сертифицированным прибором учета электроэнергии "Меркурий 200.02" (классы точности 1 и 2). Замер уровня шума (дБА) внутри корпуса осуществлялся прибором Center 322 в режиме Slow.
    На жесткий диск тестового стенда устанавливалась ОС Windows XP Professional SP2 (build 2600), а для работы с графическими подсистемами использовались видеодрайверы ForceWare 84.21 и Catalyst 6.4.
    В качестве программных тестов задействовались приложения 3DMark06 (v.1.0.2), 3DMark03 (v.3.6.0), Call Of Duty 2 (демо cod2_pcw), F.E.A.R.(режим Soft shadows off, встроенное демо), Far Cry (v.1.33, демо Regulator), The Chronicles of Riddick (режим PS2.0, демо MainFrame 1), DOOM III (стандартное демо), Serious Sam II (режим OpenGL, демо Greendale).
    Все запуски тестовых приложений выполнялись с использованием монитора Belinea 102015 в графических разрешениях 1024x768 и 1600x1200 точек с глубиной цвета 32-бит. При этом в настройках драйверов и в игровых приложениях были включены следующие комбинации анизотропной фильтрации и полноэкранного сглаживания: AF:0 и AA:0, AF:8x и AA:0, AF:0x и AA:4x, AF:8x и AA:4x.

    nVidia GeForce 7900GTX (Palit 7900GTX)
    В основе графического акселератора nVidia GeForce 7900GTX лежит новый кристалл G71, который базируется на архитектуре процессора G70 (восемь вершинных и 24 пиксельных конвейера, по одному текстурному блоку на каждом) с хорошо оптимизированной схемой расположения транзисторов. Кроме того, в производстве микросхемы G71 используется техпроцесс 90 нм, что позволяет снизить энергопотребление микрокристалла и при этом увеличить рабочую частоту ядра в полтора раза по сравнению с процессором G70.
    Сама плата GeForce 7900GTX по внешнему виду системы охлаждения и дизайну PCB аналогична инженерным образцам GeForce 7800GTX с объемом памяти 512 Мбайт. А это наталкивает на мысли о "домашней заготовке" оригинального охладителя, который начали использовать раньше времени на прежних платах nVidia GeForce 7800GTX 512Mb. Однако, несмотря на близкое родство ускорителей GeForce 7800 и GeForce 7900, новичок показал рекорды производительности во многих игровых приложениях, но об этом немного позже.

    Изображение 1. Протестированная плата nVidia GeForce 7900GTX (Palit 7900GTX)

    ATI Radeon X1900XTX (ASUS EAX1900XTX/2DHTV)
    В последнее время финансовые вложения в покупку высокопроизводительных плат ATI принимают рискованный характер и можно только посочувствовать владельцам адаптеров Radeon X1800XT, ведь всего через три месяца после анонса графического процессора R520 на рынке появилось более производительное решение R580 от ATI за меньшие деньги. Хотя по дизайну, который у многих вызывает ассоциации с карманной СВЧ-печью, новая плата Radeon X1900XTX и прежний акселератор Radeon X1800XT похожи как две капли воды. Но, по заявлениям PR-менеджеров, разница становится очевидной по результатам тестов, ведь в новинке 48 пиксельных конвейеров вместо 16.
    И действительно, в ГП Radeon X1800XT было всего четыре квада (квад состоит из четырех пиксельных процессоров), которые обрабатывали за такт 16 пикселов, а теперь количество вычислительных блоков увеличилось до 12. Но при этом число текстурных блоков осталось прежним - те самые четыре квада (другими словами, получается по три пиксельных процессора на один текстурный блок). И значит, микросхема R580 по-прежнему выбирает только 16 текстур за такт, а потенциал платы Radeon X1900XTX проявляется лишь в специальных игровых приложениях, где вместо текстурных операций активно используются пиксельные вычисления.
    Напомним, что в первых 3D-играх (например, Quake) на одну математическую операцию приходилось три выборки текстур и вся визуализация игровой картинки выполнялась за счет наложения множества текстур. В современных играх уже на одну операцию выборки текстур приходится несколько математических операций, и, например, в игре F.E.A.R. такое соотношение достигает пропорции один к семи.
    Разумеется, эта тенденция справедлива, ведь актуальные игры активно используют пиксельные вычисления для потрясающих эффектов освещения и объемности (например, игра Call of Duty 2). Так что рост числа пиксельных блоков на фоне количественного застоя в пиксельных "текстурниках" и вершинных конвейерах теоретически оправдан. Но как это выглядит на практике?

    Изображение 1. Протестированная плата ATI Radeon X1900XTX (ASUS EAX1900XTX/2DHTV)

    Что показали тесты
    Для начала анализа результатов тестирования отметим, что рост количества пиксельных блоков в плате ATI Radeon X1900XTX привел к увеличению числа интегрированных транзисторов в кристалле до 380 млн. Как следствие, мы видим очень высокое энергопотребление тестового стенда в игровых приложениях, которое на 60 Вт превышает аналогичные показатели стенда на базе платы nVidia.
    Теперь обратим внимание на результаты производительности в синтетических тестах. В игровых сценариях 3DMark03 уверенно лидировала плата GeForce 7900GTX, а вот в тесте 3DMark06 соперничество конкурентов оставило двойственное впечатление. Ведь в категории "кадры в секунду" плата nVidia тоже была в лидерах, но в технологическом плане она проигрывала инженерному образцу ATI, поскольку не поддерживала одновременную работу технологий HDR (High Dynamic Range) и AA (antialiasing).
    В результате при включенном сглаживании мы не смогли оценить производительность GeForce в тестах 3DMark06 Canyon Flight и 3DMark06 Deep Freeze. Хотя справедливости ради заметим, что плата Radeon X1900XTX аналогично пропустила тестовый сценарий 3DMark06 Shader Particles (SM3.0), поскольку в платах ATI не реализованы возможности вершинного текстурирования.
    Но перейдем к результатам тестов в игровых приложениях, для которых технологии High Dynamic Range и Vertex Texture Fetch не использовались или были отключены. Здесь мы видим тотальный проигрыш графического акселератора ATI Radeon X1900XTX в OpenGL-играх The Chronicles of Riddick, DOOM 3 и Serious Sam 2. Причем решение ATI сильно отстает от конкурента не только во всех экранных разрешениях, но и в любых комбинациях с включенными функциями анизотропной фильтрации и сглаживания.
    Интересную ситуацию мы наблюдаем и в игре F.E.A.R., где на одну операцию выборки текстур приходится семь математических вычислений. Видеоплата Radeon X1900XTX уступает альтернативному решению nVidia во всех случаях, кроме режима 1600х1200 точек с AF:08 и AA:04. Конечно, мы не беремся что-либо утверждать, но мысли о программных оптимизациях в драйверах Catalyst возникают.
    В игре Far Cry ситуация несколько иная. Здесь плата ATI проигрывает акселератору nVidia GeForce 7900GTX только в тестах с отключенной анизотропной фильтрацией и сглаживанием, в других случаях на высоте оказывается Radeon X1900XTX.
    И наконец, в Call of Duty 2 графическая плата ATI безоговорочно бьет конкурента во всех разрешениях и режимах. Но, по большому счету, эта игра оказалась не по зубам обоим образцам при разрешении 1600х1200 точек, поскольку к комфортному рубежу для игр в 60 кадр/с обе видеоплаты приблизиться так и не смогли.
    Разумеется, указанный потенциал игры Call of Duty 2 окажется полезен при тестировании технологий nVidia Quad-SLI, nVidia SLI и ATI CrossFire, но это уже совершенно иная статья о видеорешениях абсолютно другой ценовой категории. А в "одиночных" тестах плат nVidia и ATI лидер выявлен - это nVidia GeForce 7900GTX. Возникает только один традиционный и логичный вопрос: надолго ли?

    Как тестировать видеоплату в игре Serious Sam 2
    В отличие от игры Call of Duty 2 в проекте Serious Sam 2 метод тестирования не только абсолютно прозрачен, но и отличается уникальной поддержкой как DirectX, так и OpenGL. Хотя если посмотреть на два снимка экрана игры с DirectX и с OpenGL, то последний вариант кажется более качественным. Но давайте по порядку...
    Во-первых, загружаем бесплатную версию игры Serious Sam 2 по соответствующей ссылке на сайте www.croteam.com, да не забываем, что дальнейшее повествование не теряет актуальности и для платной версии приложения. Во-вторых, после установки и запуска игры записываем эталонную "демку", для чего используем кнопку F7 для старта и F8 для остановки записи. Кстати, в платном варианте игры Serious Sam 2 уже имеются три демонстрационных сценария, и делать здесь четвертый векторный ролик нет необходимости...
    И в-третьих, прямо в основном меню программы после установки и запуска игры открываем клавишей "~" консольный режим и набираем команду bmk_bBenchmarkDemos=1. И все. Теперь в разделе Play Demos проигрываем записанную "демку" и смотрим по ее окончании усредненное значение производительности (кадр/с) в консольном поле. Кроме того, важно знать, что консольные строки с результатами проигрывания "демки" Serious Sam 2 по умолчанию всегда отображаются в файле Serious Sam 2\Sam2.log
    Но вернемся к изюминке тестов в этой игре, для чего в папке Serious Sam 2\Content\SeriousSam2 найдем файл Sam2.ini и изменим в нем значение параметра gfx_iAPI на 1. Кстати, в этом же файле можно активировать переменную prf_bShowFPS и изучать "живые" кадры в секунду прямо на экране в процессе тестирования. Но в любом случае теперь приложение Serious Sam 2 работает под OpenGL и в этом режиме демонстрирует большую производительность, чем в Direct3D.
    В конфигурационном файле Sam2.ini есть и возможность полного отключения звука в игре (это можно сделать, указав нулевое значение параметра sfx_iAPI). И на наш взгляд, такой шаг добавит корректности результатам тестирования, особенно когда в сравнении участвуют различные платформы.

    Вот примеры работы разных методов визуализации DirectX и OpenGL в игре Serious Sam 2 с платой nVidia

    Таблица 1. Сравнительные характеристики видеоадаптеров PCI Express
    Модель видеоплаты Графический процессор Технология производства, нм Количество пиксельных/ вершинных конвейеров Частота работы ядро/память, МГц Объем видеопамяти, Мб Шина доступа к видео ОЗУ, бит Дополнительные особенности Рекомендованная цена, долл.
    Palit 7900GTX 512Mb GeForce 7900GTX (G71) 90 24/ 8 650/ 1600 512 256 не поддерживает одновременную работу технологий AA и HDR 499
    ASUS EAX1900XTX/2DHTV 512Mb Radeon X1900XTX (R580) 90 48/ 8 650/ 1550 512 256 не поддерживает вершинное текстурирование, аппаратную фильтрацию при выборке текстур в формате FP16 549

    Таблица 2. Результаты тестирования в реальных играх, кадр/с
    Графический акселератор Ориентировочная потребляемая мощность тестового стенда (без монитора), Вт DirectX-игры OpenGL-игры
    Call Of Duty 2, при разрешении, точки F.E.A.R., при разрешении, точки Far Cry *, кадр/с, при разрешении, точки The Chronicles of Riddick, при разрешении, точки DOOM III, при разрешении, точки Serious Sam II *, при разрешении, точки
    Windows XP Максимальная 3D-нагрузка 1024x768 1600x1200 1024x768 1600x1200 1024x768 1600x1200 1024x768 1600x1200 1024x768 1600x1200 1024x768 1600x1200
    GeForce 7900GTX
    AF:00 AA:00
    205 310 62 41,1 118 79 96,8 94,3 126,6 108,3 136,2 121 78,3
    (67,5 **)
    72,5
    (72 **)
    Radeon X1900XTX
    AF:00 AA:00
    200 370 69,4 49 119 71 85,8 91 98,6 87,5 110,1 94,7 58,1
    (72,2 **)
    53,9
    (67,8 **)
    GeForce 7900GTX
    AF:08 AA:00
    -- -- 58,5 37,9 114 77 85,2 84,9 114,7 108 136 118,4 80 68
    Radeon X1900XTX
    AF:08 AA:00
    -- -- 63,6 40,8 110 67 94,8 84,3 98,6 88 117,3 95,8 58,1 50,7
    GeForce 7900GTX
    AF:00 AA:04
    -- -- 56,9 35,8 89 45 83,9 71,9 121,9 69,4 121,6 74,2 75,9 65
    Radeon X1900XTX
    AF:00 AA:04
    -- -- 62,4 40,4 74 53 86 81,2 97,6 60,6 101,6 68,3 59,4 48,3
    GeForce 7900GTX
    AF:08 AA:04
    -- -- 53,2 32,7 87 44 84,1 69,6 117,9 68,9 123,1 72,7 74,9 62,9
    Radeon X1900XTX
    AF:08 AA:04
    -- -- 56 34,2 70 49 91,4 78,8 98,1 60,6 104 68,2 57,5 44,4

    * - игра с поддержкой шейдеров третьей версии
    ** - результаты в режиме DirectX

    Таблица 3. Результаты выполнения 3D-тестов Futuremark 3DMark06, кадр/с

    Таблица 4. Результаты выполнения 3D-тестов Futuremark 3DMark03 (AF:00 AA:00), кадр/с

    Таблица 5. Результаты выполнения графического OpenGL-теста SPECViewperf8, кадр./с *
    Графический акселератор 3DSMAX 3.1 CATIA 5 CEI's EnSight Lightscape Visualization System Maya 5 Pro/ENGINEER 2001 SolidWorks 2004 Unigraphics 17
    GeForce 7900 GTX 20,76 14,06 19,77 9,749 24,77 3,764 19,51 14,55
    Radeon X1900 XTX 20 13,36 20,01 11,73 18,83 17,03 15,02 15,27

    * - Пакет SPECViewperf 8 содержит синтезированные коды-следы восьми профессиональных приложений для просчета сложных геометрических построений и сцен: 3DSMAX 3.1, CATIA 5, CEI's EnSight, Lightscape Visualization System, Maya 5, Pro/ENGINEER 2001, SolidWorks 2004 и Unigraphics 17.

    >> НАВЕРХ СТРАНИЦЫ <<