Сегодня 25 сентября 2016
18+
photokina
Видеокарты

Аппаратная тесселяция в GPU - возможности и требования

Вопрос фотореализма в компьютерных играх неоднократно поднимался на протяжении многих лет. Казалось бы, неуклонный рост вычислительной мощности ГП давно должен был обеспечить фотореалистичные 3D-изображения на экранах наших мониторов. Но, несмотря на все обещания, до сих пор ещё очень мало игр, которые по качеству графики хотя бы отдалённо напоминают фотографии. Основной причиной этого, безусловно, является относительная слабость современных GPU, однако, это не единственная причина. Подавляющее большинство современных компьютерных игр для ПК создаётся под ОС Windows, а основная масса этих игр работает с помощью встроенного в операционную систему API DirectX. Набор API DirectX за всё время своего существования (примерно 15 лет) эволюционировал очень сильно. Новейшая, на сегодняшний день, версия DirectX под номером 11 вышла осенью прошлого года в составе операционной системы Windows 7. C выходом DirectX 11, в распоряжении разработчиков появился целый ряд технологий, позволяющих существенно поднять уровень реализма современных компьютерных игр. В данном материале мы сосредоточим своё внимание лишь на одной, но зато очень важной технологии - тесселляции. Напомним, что трёхмерные модели, используемые в актуальных 3D-играх, состоят из множества многоугольников – полигонов. Причем графический адаптер получает для обработки модель, состоящую из самых простых полигонов – треугольников, описываемых координатами их вершин. Чем из большего количества полигонов состоит геометрическая модель, тем более детализированной и, как следствие, более реалистичной она кажется. Однако, даже для современных CPU создание сцены, состоящей из сотен миллионов взаимодействующих в режиме реального времени полигонов – задача непосильная. Как же быть? Решением данной задачи как раз и служит технология тесселляции, позволяющая переложить создание и обработку дополнительных вершин на графический процессор. Увеличение детализации объёктов с помощью тесселляции реализовано достаточно просто и эффективно – подробнее об этом вы можете прочитать в обзоре архитектуры Fermi. Следует отметить, что технология тесселляции вовсе не нова – она давно и успешно (инженеры Silicon Graphics реализовали программно соответствующие алгоритмы еще в 80-х годах прошлого века) применяется в профессиональной компьютерной графике, в том числе в кинематографе. Однако компьютерные игры требуют реализации подобных механизмов в реальном времени (в то время как в кинематографе на рендеринг каждого кадра могут тратиться часы и дни) с частотой в десятки кадров в секунду, а это требует не только большей вычислительной мощности, но и некоторого усложнения архитектуры GPU. Теперь, с выходом DirectX 11 и совместимых с этим API видеокарт, следует ожидать появления все большего количества игр, активно использующих эту технологию. Первой видеокартой с полной поддержкой всех функций DirectX 11 и, в том числе, тесселляции стал ускоритель Radeon HD 5870 производства AMD, затем линейка серии HD 5xxx стала шире и теперь практически во всех сегментах у AMD есть представители с поддержкой DX11. Спустя полгода после выхода Radeon HD 5870, компания NVIDIA выпустила графический процессор GF100 и видеокарты на его основе - GeForce GTX 470/480, которые, как и решения AMD, полностью поддерживают DirectX 11. Можно сказать, что теперь между двумя гигантами IT-индустрии наблюдается технологический паритет. Однако, формальная поддержка той или иной технологии, зачастую не гарантирует высокую производительность при её (технологии) использовании. В процессе создания архитектуры Fermi и графических чипов GF100, инженеры компании NVIDIA постарались сделать новый GPU быстрым не только в существующих приложениях, но также и немного заглянуть в будущее. По заявлению представителей компании NVIDIA, тесселляция является одной из сильных сторон GF100, поскольку, как считают в NVIDIA, эта технология будет использоваться во всех DirectX 11 играх ближайшего будущего. Для демонстрации преимуществ тесселляции на своих новых ускорителях GeForce GTX 470 и GeForce GTX 480 программисты NVIDIA создали специальные программы. Ознакомиться с ними можно здесь. Оценить производительность новинки в базовых для Hi-End ускорителя режимах можно в нашем предыдущем обзоре GeForce GTX 480, а сегодня нашей целью является практическая проверка возможностей этого ускорителя в приложениях, поддерживающих тесселляцию. Также мы посмотрим, на что в аналогичных условиях способны самые быстрые видеокарты AMD – Radeon HD 5870 и Radeon HD 5970. Участники тестирования:
  • AMD Radeon HD 5870
  • AMD Radeon HD 5970
  • NVIDIA GeForce GTX 480
    • Тестирование всех видеокарт в данном обзоре проводилось на стенде следующей конфигурации:
      Тестовый стенд
      Центральный процессор Intel Core i7 870 @ 4.0 ГГц (182x22)
      Система охлаждения CPU Glacialtech F101 + 2 x 120 мм
      Материнская плата ASUS Maximus III Extreme
      Оперативная память Super Talent DDR3 @ 1890, 9-9-9-24-1T
      Жёсткий диск Samsung SpinPoint 750 ГБ
      Блок питания IKONIK Vulcan 1200 Вт
      Корпус Cooler Master test bench 1.0
      Операционная система Microsoft Windows 7 x64 Ultimate
      Версии драйверов: Для видеокарт NVIDIA использовались драйверы ForceWare 197.17;
      Для видеокарт AMD использовались драйверы Catalyst 10.3 c Catalyst CrossFireX Profiles 10.3
      Тестовые приложения:
      Приложение Разрешение Графические режимы Варианты настроек тесселяции
      STALKER: Call of Pripyat. Сцена Sun Shafts 1680x1050
      1920x1200
      DX 11, Max. Detail, No AA/AF, Real Shadows
      DX 11, Max. Detail, 4xAA/16xAF, Real Shadows
      Tessellation Off
      Tessellation On
      Colin MCRae DiRT 2 1680x1050
      1920x1200
      DX 9 Ultra Detail, No AA/AF
      DX 9 Ultra Detail, 4xAA/16xAF
      DX 11 Ultra Detail, No AA/AF, Tessellation On
      DX 11 Ultra Detail, 4xAA/16xAF, Tessellation On
      Unigine Heaven v 2.0 1680x1050
      1920x1200
      DX11, High Detail, No AA/4xAF Tessellation Off
      Tessellation Moderate
      Tessellation Normal
      Tessellation Extreme

      #Unigine Heaven 2.0

      Начнём мы, пожалуй, с новой версии синтетического тестового пакета Unigine Heaven 2.0. Основной акцент в Heaven 2.0 был сделан на демонстрации различных режимов тесселляции. Пользователь может выбрать один из нескольких режимов работы этой технологии: выключена (Off), умеренная (Moderate), нормальная (Normal) и экстремальная (Extreme). Чтобы наглядно проиллюстрировать различия между вышеозначенными режимами, мы сделали несколько скриншотов:
      P-1920x1200-off-s.jpg
      1920x1200-disabled-s.jpg
      Тесселляция выключена
      P-1920x1200-Moderate-s.jpg
      1920x1200-Moderate-s.jpg
      Умеренная тесселляция
      P-1920x1200-normal-s.jpg
      1920x1200-norma-s.jpg
      Нормальная тесселляция
      P-1920x1200-Extreme-s.jpg
      1920x1200-Extreme-s.jpg
      Экстремальная тесселляция
      Разница между режимами видна невооружённым глазом. Включение тесселляции в Unigine Heaven 2.0 придаёт изображению больше реализма. Часть объектов приобрела “жизненный” объём, благодаря чему, виртуальный мир стал восприниматься намного лучше. Ну что же, посмотрим какие результаты в этом тесте покажут самые мощные модели AMD и NVIDIA.
      1-UnigineHeavenBenchmarkv20(DX.png
      2-UnigineHeavenBenchmarkv20(DX.png
      3-UnigineHeavenBenchmarkv20(DX.png
      4-UnigineHeavenBenchmarkv20(DX.png
      Во всех без исключения режимах тесселляции при разрешении 1680x1050 NVIDIA GeForce GTX 480 оказывается заметно быстрее своего основного конкурента – AMD Radeon HD 5870. Более того, при включении тесселляции, по минимальному показателю fps GeForce GTX 480 оказывается быстрее Radeon HD 5870 в разы! Самая большая разница между этими видеокартами в экстремальном режиме тесселляции. Видеокарта AMD Radeon HD 5970 оказывается быстрее топ-модели NVIDIA, но только до тех пор, пока не активирована тесселляция. В режиме moderate двухчиповый монстр от AMD всё ещё лидирует по среднему значению частоты кадров, однако проигрывает около 10 fps по минимальному значению. Переход к режиму Normal позволяет GeForce GTX 480 выйти почти на равных с Radeon HD 5970 по среднему значению частоты смены кадров, а по минимальному – опередить двухчипового соперника на всё те же 10 fps, как и в режиме moderate. Активация экстремального режима тесселляции кладёт на лопатки Radeon HD 5970, а вот GeForce GTX 480 как ни в чём не бывало, продолжает показывать приличную частоту смены кадров. Очень интересно, посмотрим, что будет при переходе к более тяжёлому разрешению.
      5-UnigineHeavenBenchmarkv20(DX.png
      6-UnigineHeavenBenchmarkv20(DX.png
      7-UnigineHeavenBenchmarkv20(DX.png
      8-UnigineHeavenBenchmarkv20(DX.png
      Более высокое разрешение не изменило общее положение дел. В Unigine Heaven 2.0 после активации тесселляции, особенно в экстремальных режимах, идёт “на дно” даже Radeon HD 5970. В то же время детище NVIDIA производит благоприятное впечатление. Сложные сцены даются этому ускорителю заметно легче, чем конкурентам производства AMD. Справедливости ради, стоит отметить, что тестовый пакет Unigine Heaven 2.0 является синтетическим, что не позволяет переносить полученные в нём результаты производительности на реальные игры. Более того, пока что сложно сказать, будут ли игры, выпущенные в ближайшее время, поддерживать настолько сложные режимы тесселляции. От синтетики – к реальным играм, на очереди Colin McRae DiRT 2. Следующая страница →
       
      Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
      Материалы по теме
⇣ Комментарии