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

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

03.04.2010 0 Автор Алексей

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

Предлагаю вашему вниманию материал Игоря Свадковского, размещенный на страницах 3DNews, а именно, оценку возможностей видеокарт в приложениях, поддерживающих тесселляцию, смотрим под катом.

Подавляющее большинство современных компьютерных игр для ПК создаётся под ОС 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 создали специальные программы. Ознакомиться с ними можно здесь.

Нашей целью является практическая проверка возможностей этого ускорителя в приложениях, поддерживающих тесселляцию. Также мы посмотрим, на что в аналогичных условиях способны самые быстрые видеокарты AMD – Radeon HD 5870 и Radeon HD 5970.

Участники тестирования:
AMD Radeon HD 5870
AMD Radeon HD 5970
NVIDIA GeForce GTX 480

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

Unigine Heaven 2.0Начнём мы, пожалуй, с новой версии синтетического тестового пакета Unigine Heaven 2.0. Основной акцент в Heaven 2.0 был сделан на демонстрации различных режимов тесселляции. Пользователь может выбрать один из нескольких режимов работы этой технологии: выключена (Off), умеренная (Moderate), нормальная (Normal) и экстремальная (Extreme). Чтобы наглядно проиллюстрировать различия между вышеозначенными режимами, мы сделали несколько скриншотов:

Тесселляция выключена

Умеренная тесселляция

Нормальная тесселляция

Разница между режимами видна невооружённым глазом. Включение тесселляции в Unigine Heaven 2.0 придаёт изображению больше реализма. Часть объектов приобрела “жизненный” объём, благодаря чему, виртуальный мир стал восприниматься намного лучше.

Посмотрим какие результаты в этом тесте покажут самые мощные модели AMD и NVIDIA.

Во всех без исключения режимах тесселляции при разрешении 1680×1050 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 как ни в чём не бывало, продолжает показывать приличную частоту смены кадров.

Посмотрим, что будет при переходе к более тяжёлому разрешению.

Более высокое разрешение не изменило общее положение дел. В Unigine Heaven 2.0 после активации тесселляции, особенно в экстремальных режимах, идёт “на дно” даже Radeon HD 5970. В то же время детище NVIDIA производит благоприятное впечатление. Сложные сцены даются этому ускорителю заметно легче, чем конкурентам производства AMD.

Стоит отметить, что тестовый пакет Unigine Heaven 2.0 является синтетическим, что не позволяет переносить полученные в нём результаты производительности на реальные игры. Более того, пока что сложно сказать, будут ли игры, выпущенные в ближайшее время, поддерживать настолько сложные режимы тесселляции.

Для просмотра тестирования игры ColinMcRae DiRT 2 с видео и скринами переходим по ссылке

799 Просмотров