Windows 8

Что значит тесселяция в играх. Настройка параметров множественного отображения

Что значит тесселяция в играх. Настройка параметров множественного отображения

Вопрос фотореализма в компьютерных играх неоднократно поднимался на протяжении многих лет. Казалось бы, неуклонный рост вычислительной мощности ГП давно должен был обеспечить фотореалистичные 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). Чтобы наглядно проиллюстрировать различия между вышеозначенными режимами, мы сделали несколько скриншотов:

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

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

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

      Экстремальная тесселляция

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

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

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

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

Способы настройки

Рассмотрим каждый из методов по настройке и улучшению производительности видеокарты в виде пошаговых руководств. Далее будут инструкции:

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

Каждый из методов позволяет добиться прироста производительности в различных компьютерных играх.

Драйверы

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

  • Официальный сайт AMD.
  • Стандартное приложение Windows.

Вы можете скачать пакет с официального сайта. Для этого откройте ресурс http://www.amd.com/ru и перейдите в раздел «Драйверы и поддержка». В графе «Выбор драйвера вручную» выберите вашу модель видеокарты, версию операционной системы и скачайте архив.

Перед инсталляцией нового драйвера необходимо обязательно удалить старый. Для этого откройте «Диспетчер устройств». Сделать это можно так:

  1. Кликните правой кнопкой мыши по иконке «Компьютер» и выберите пункт «Свойства».
  2. Далее зайдите в раздел «Диспетчер устройств».
  3. В ветке «Видеоадаптеры» найдите вашу видеокарту и нажмите по ней ПКМ. В свойствах вы можете найти характеристики видеокарты AMD Radeon и настройки драйвера.
  4. Кликните на кнопку «Удалить драйвер». После удаления возможно снижение разрешения экрана.

Теперь приступаем к установке новой версии драйвера. Распаковываем скачанный архив в любую папку на жестком диске и запускаем инсталлятор. Во время процесса установки изображение на дисплее может мигать и исчезать на несколько секунд. После завершения процесса обязательно перезагрузите компьютер.

Так вы можете ускорить видеокарту в современных играх, поскольку с выходом почти каждого крупного проекта AMD выпускает новые версии драйвера с оптимизацией и исправлением предыдущих ошибок.

Установить драйвер можно и с помощью стандартных средств операционной системы:

  1. Зайдите в «Диспетчер устройств».
  2. Кликните по своей видеокарте правой кнопкой мыши и вменю выберите «Свойства».
  3. Во второй вкладке свойств нажмите на «Обновить драйвер».
  4. Далее выберите автоматический способ поиска обновлений и дождитесь окончания процедуры.
  5. Система сама найдет новые версии ПО и предложит установить.

AMD Catalyst Control Center

Данная утилита является аналогом панели управления от Nvidia. Она автоматически устанавливается с пакетом драйверов с официального сайта, поэтому мы рекомендуем вам воспользоваться именно первым способом по обновлению ПО. Через стандартный поиск драйвера Windows не установит вам панель управления.

Стандартная настройка

Чтобы открыть приложение и настроить видеокарту AMD Radeon для игр, необходимо кликнуть правой кнопкой мыши по рабочему столу и перейти в AMD Catalyst Control Center. В открывшемся окне нажмите на кнопку «Параметры». Здесь можно выбрать расширенное или стандартное представление. Если вы опытный пользователь, то можете настроить каждый параметр и характеристику видеокарты отдельно с помощью расширенных возможностей. Однако не рекомендуем вам экспериментировать в данном разделе без знания того, за какие настройки отвечает тот или иной параметр.

Выбираем пункт «Стандартное представление» и открываем раздел «Игры». Далее переходим в подраздел «Производительность в играх». Настройка видеокарты AMD Radeon для игр представлена в виде наглядных ползунков с выбором качества графики. Установленные параметры будут менять картинку в игре вне зависимости от внутренних настроек. Так можно добиться высокой производительности на слабых видеокартах либо, наоборот, улучшить картинку на более мощных системах.

В первой вкладке вы выбираете параметры сглаживания между отключенным, 2Х, 4Х и так далее. На картинке будут показаны изменения в качестве графики. Далее идет настройка метода сглаживания. Для получения большего количества ФПС в игре сдвигаем ползунок в сторону положения «Производительность».

Третий пункт - анизотропная фильтрация. Здесь необходимо снять галочку возле пункта «Использовать настройки приложения». После этого видеокарта будет игнорировать в игре и устанавливать свои настройки. На этом параметры в стандартном представлении заканчиваются.

Детальная настройка

Снова нажмите «Параметры» и теперь выберите «Расширенное представление». Программ для настройки видеокарты AMD Radeon позволяет выставить параметры, которые будут использоваться во всех запускаемых играх.

Теперь необходимо открыть подраздел «Игры» в левой части окна. Здесь можно выбрать разные режимы и возможности. У вас также имеется возможность выставить параметры сглаживания, фильтрации и частоты кадров для каждой игры отдельно. Эта функция позволяет добиться максимальной производительности в разных приложениях. Данная утилита позволяет настраивать AMD Radeon на Windows 7, 8 и 10 без каких-либо проблем.

Используем Gaming Evolved

Также у AMD имеется отдельное приложение, которое является аналогом Nvidia GeForce Experience. Его главная задача - сбор сведений об установленных играх и их оптимизация под мощность вашего персонального компьютера.

В списке всех найденных игр вы увидите все, что установлено на ПК. Если какая-либо игра не добавилась, ее можно внести вручную. Также приложение занимается сбором статистики по наигранным часам и так далее.

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

С помощью отдельного ползунка можно выбрать настройки, направленные на производительность, качество или компромисс между двумя крайностями. Принцип действия приложения такой же, как и в случае с AMD Catalyst Control Center.

Не изменяйте параметры видеокарты в расширенных настройках без наличия должных знаний. В противном случае вам придется восстанавливать все значения по умолчанию либо переустанавливать драйвер заново.

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

Вывод

Теперь вы знаете, как настроить видеокарту AMD Radeon для игр так, чтобы ваш компьютер выдавал максимальное количество кадров в секунду без сильного снижения качества графики. Способы, описанные в статье, будут актуальны для слабых компьютеров, где каждый кадр на счету.

Каждый геймер мечтает о быстрой и производительной видеокарте с хорошей графикой для использования всех игровых эффектов. Не всегда ваша видеокарта удовлетворяет желаемой мощности для современных видеоигр. Что же предлагается сделать в таком случае на имеющейся у вас карте amd radeon? Увеличение мощности частоты, разблокировка дополнительных конвейеров посредством специальных программ или с помощью настроек БИОСа видеокарты называют разгоном видеокарты. Основной параметр, характеризующий степень разгона - «Frame Per Seconds» FPS -количество кадров в секунду. Людей, занимающихся разгоном отдельных частей оборудования (карт или процессора) называют оверклокерами. Не всегда оверклокерам требуется получить разгон . Часто возникает просто спортивный интерес - попытка использовать свойcтва комплектующих сверх их штатных характеристик.

Не всегда ваша видеокарта удовлетворяет желаемой мощности для современных видеоигр

Чтобы качественно разогнать видеокарту amd radeon параметры производительности меняют постепенно. Поднимают частоту чипа на 5 мгц и следом тестируют на 3D приложении. Затем поднимают частоту памяти и опять тестируют. Будем увеличивать частоту только чипа, либо только памяти, либо делать это синхронно.

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

Прежде, чем осуществлять разгон видеокарты amd radeon , нужно отдавать себе отчет в том, что искусственное увеличение мощности влечет за собой уменьшение срока службы карты и может повлечь перегрев устройства и в последствии полный выход из строя - карта может сгореть. Потому манипуляции следует проводить и с контролем температуры и последующим улучшением охлаждения. Кроме того - изменение заданных производителем параметров лишает вас гарантии на устройство. Хотя достаточно трудно доказать, что это произошло из-за манипуляций с частотами.

ПОСМОТРЕТЬ ВИДЕО

Улучшение штатных возможностей видеокарты посредством изменения настройки драйверов

Увеличить устройства. Программа для разгона видеокарты amd предоставляется самой компанией amd в бесплатное пользование. Это пакет графических драйверов для видеокарт radeon - Catalyst control center. Прежде, чем им воспользоваться убеждаемся, что:

  1. Установлена последняя версия драйвера видеокарты или осуществить обновление
  2. Установлено решение AMD OverDrive
  3. Если необходимо - установить их

Затем установить AMD Catalyst control center.

Для этого переходим на сайт официального производителя amd, выбираем параметры своей системы:

  • тип имеющейся у вас графической системы;
  • семейство продуктов, к которому принадлежит ваша графическая система;
  • именно ваш компонент из выпадающего списка;
  • операционную систему, на которой вы работаете;
    Переходим на сайт официального производителя amd
  • подтверждаем выбор;
  • устанавливаем выбранный драйвер
Устанавливаем выбранный драйвер

Можно скачать драйвер и с сайта radeon.

Можно скачать драйвер и с сайта radeon

Устанавливаем.

Настройка AMD Catalyst control center происходит в основном в разделе «Производительность».

Настройка AMD Catalyst control center происходит в основном в разделе «Производительность»

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

Включаем функции разгона для процессора и графического устройства

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

Можно изменять параметры частоты памяти, чипа, управлять производительностью вентилятора и питания При возникновении негативных эффектов, вернуть параметры назад

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

Установив AMD Catalyst Control Center мы получаем дополнительный инструмент для настройки видеокарты amd radeon и управления параметрами процессора, дисплея.

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

В левой части экрана выбираем пункт Игры, подпункт Настройка 3D приложений

Прежде чем настраивать такие параметры как:

  • тесселяция;
  • сглаживание;
  • морфологическая фильтрация amd, текстурная

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

Начнем с параметра «Сглаживание». Для этого параметра существуют опции:

  • режим сглаживания. Чтобы не страдала производительность, выбираем «Использовать настройки приложения». Приложение само будет выбирать - какую fps ему лучше ставить;
  • фильтр. Для качества графического отображения преимущественен параметр standart;
  • метод сглаживания для amd - «адаптивная множественная выборка»;
  • морфологическая фильтрация. Лучше выключить, т.к. может все изображение сделать блеклым, хотя сглаживает искажение по краям;

Следующий блок «Текстурная фильтрация». Опции:

  • режим фильтрации. Опять же делаем выбор в зависимости от приоритетов - качество либо производительность;
  • качество фильтрации. Ставим высокое либо стандартное;
  • оптимизация формата. Включаем.

Такие параметры при долгой работе компьютера могут вызвать перегрев и, как следствие - выключение. Чтобы этого не произошло, в оптимизации формата лучше выбрать «производительность».

Блок «Управление частотой кадров»:

  • настройка вертикального обновления. Т.е., если часть экрана в игре движется, а часть тормозит, то лучше включить. Но, если такого не происходит, лучше выключить, т.к. fps при включении падает до 60;
  • оптимизация формата. Добавляет качества к вертикальному обновлению, но fps снижает до 40;

«Тесселяция»

  • режим тесселяции. Если есть значение «Оптимизировано amd», то это оптимальный вариант, при котором видеокарта сама будет перенаправлятьт есселяцию на разные приложения;
  • максимальный уровень. Автоматически ставится «оптимизировано amd»

в случае отсутствия «оптимизировано amd» параметр тесселяция в играх - «Переопределить настройки приложения».

После данных настроек обращаем внимание на настройки питания. Для игр ставим максимальную производительность. Но, по предпочтениям можно любые из предлагаемых параметров выбирать. Это и оптимальное энергосбережение и оптимальная производительность. Но обязательно обратить внимание на наличие птички в чекбоксе «разрешить дополнительные параметры энергосбережения». Чтобы с комфортом играть ее лучше убрать, чтобы не отвлекаться.

Можно сделать вывод, что улучшить видеокарту на windows 7 или другой операционной системе возможно посредством экспериментов с ее параметрами, используя специализированное программное обеспечение, предоставляемое производителем устройства, либо утилитами сторонних разработчиков. К ним относится программа для ускорения видеокарты.

Tessellator (модуль тесселяции)

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

Тесселяция не является совершенно новой технологией, впервые её стали использовать видеопроцессоры Xenos, которые были разработаны компанией AMD для игровых консолей Xbox 360 в 2005 году. Однако модуль тесселяции использованный в DirectX 11 является более устойчивым и гибким, нежели модуль, использованный в графических процессорах Xenos.

Поговорим о тесселяции в DirectX 11

Поговорим о тесселяции в DirectX 11

Тесселяция – увеличения количества полигонов

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

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

Все стадии обрабатываются в графическом процессоре

Процесс тесселяции предмета начинается в Hull Shader (поверхностный шейдер) – он берет контрольные точки и вычисляет нужный уровень тесселяции. После этой базисной реорганизации контрольные точки отправляются в Domain Shader (доменный шейдер) – тесселятор абсолютно ничего не знает о контрольных точках. Вместо этого тесселятору предоставляют некоторое количество параметров тесселяции, которые задают ему требуемый уровень тесселяции на определенном патче (особые минимальные кусочки объекта). Hull Shader сообщает тесселятору, в каком порядке он должен работать – разработчик сможет определить, каким методом произойдет процесс тесселяции, поскольку модуль тесселяции располагает фиксированным комплектом функций, у него есть несколько операционных режимов. Тесселятор берет то, что было подано ему из Hull Shader и действует в патче над формированием требуемой добавочной геометрии. Как только эта стадия будет завершена, он выдаст доменные точки (domain points) и данные топологии. Доменные точки подаются в Domain Shader, который создает на их основе вершины, доступные прочей части конвейера. Одновременно данные топологии адресуются прямо на этап сборки примитивов конвейера – это совершается потому, что данные шейдерам не нужны, они подготовлены для растеризатора. Здесь нужно отметить то, что на всех этапах стадии тесселяции работа ведется не с треугольниками – вместо этого обрабатываются патчи и точки. Патчи представляют собой кривые или области поверхности и практически всегда являются четырехугольниками. Это первый случай, когда DirectX использует в качестве примитивов не треугольники, и это является существенным шагом вперед.

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

Минимальный уровень тесселяции

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

Максимальный уровень тесселяции

Все описаное выше осуществляется за один проход через конвейер DirectX 11. Исходя из этого, мы видим, что у него есть значительный потенциал стать невообразимо эффективным способом добавления огромного количества деталей в будущие игры.

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

Преимущества тесселяции

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

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

Без тесселяции

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

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

Поговорим о тесселяции в DirectX 11


Поговорим о тесселяции в DirectX 11

Без тесселяции

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

Анизотропная фильтрация

Когда любая текстура отображается на мониторе не в своем исходном размере, в нее необходимо вставлять дополнительные пикселы или, наоборот, убирать лишние. Для этого применяется техника, называемая фильтрацией.

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

Учитывая объем обрабатываемых данных (а в сцене может быть множество 32-битовых текстур высокого разрешения), анизотропная фильтрация особенно требовательна к пропускной способности памяти. Уменьшить трафик можно в первую очередь за счет компрессии текстур, которая сейчас применяется повсеместно. Ранее, когда она практиковалась не так часто, а пропуская способность видеопамяти была гораздо ниже, анизотропная фильтрация ощутимо снижала количество кадров. На современных же видеокартах она почти не влияет на fps.

Анизотропная фильтрация имеет лишь одну настройку - коэффициент фильтрации (2x, 4x, 8x, 16x). Чем он выше, тем четче и естественнее выглядят текстуры. Обычно при высоком значении небольшие артефакты заметны лишь на самых удаленных пикселах наклоненных текстур. Значений 4x и 8x, как правило, вполне достаточно для избавления от львиной доли визуальных искажений. Интересно, что при переходе от 8x к 16x снижение производительности будет довольно слабым даже в теории, поскольку дополнительная обработка понадобится лишь для малого числа ранее не фильтрованных пикселов.

Шейдеры

Шейдеры - это небольшие программы, которые могут производить определенные манипуляции с 3D-сценой, например, изменять освещенность, накладывать текстуру, добавлять постобработку и другие эффекты.

Шейдеры делятся на три типа: вершинные (Vertex Shader) оперируют координатами, геометрические (Geometry Shader) могут обрабатывать не только отдельные вершины, но и целые геометрические фигуры, состоящие максимум из 6 вершин, пиксельные (Pixel Shader) работают с отдельными пикселами и их параметрами.

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

Шейдеры очень продуктивно работают в параллельном режиме, и именно поэтому в современных графических адаптерах так много потоковых процессоров, которые тоже называют шейдерами. Например, в GeForce GTX 580 их целых 512 штук.

Parallax mapping

Parallax mapping - это модифицированная версия известной техники bumpmapping, используемой для придания текстурам рельефности. Parallax mapping не создает 3D-объектов в обычном понимании этого слова. Например, пол или стена в игровой сцене будут выглядеть шероховатыми, оставаясь на самом деле абсолютно плоскими. Эффект рельефности здесь достигается лишь за счет манипуляций с текстурами.

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

Parallax mapping существенно экономит вычислительные ресурсы компьютера, поскольку при использовании объектов-аналогов со столь же детальной 3D-структурой производительности видеоадаптеров не хватало бы для просчета сцен в режиме реального времени.

Эффект чаще всего применяется для каменных мостовых, стен, кирпичей и плитки.

Anti-Aliasing

До появления DirectX 8 сглаживание в играх осуществлялось методом SuperSampling Anti-Aliasing (SSAA), известным также как Full-Scene Anti-Aliasing (FSAA). Его применение приводило к значительному снижению быстродействия, поэтому с выходом DX8 от него тут же отказались и заменили на Multisample Аnti-Аliasing (MSAA). Несмотря на то что данный способ давал худшие результаты, он был гораздо производительнее своего предшественника. С тех пор появились и более продвинутые алгоритмы, например CSAA.

Учитывая, что за последние несколько лет быстродействие видеокарт заметно увеличилось, как AMD, так и NVIDIA вновь вернули в свои ускорители поддержку технологии SSAA. Тем не менее использовать ее даже сейчас в современных играх не получится, поскольку количество кадров/с будет очень низким. SSAA окажется эффективной лишь в проектах предыдущих лет, либо в нынешних, но со скромными настройками других графических параметров. AMD реализовала поддержку SSAA только для DX9-игр, а вот в NVIDIA SSAA функционирует также в режимах DX10 и DX11.

Принцип работы сглаживания очень прост. До вывода кадра на экран определенная информация рассчитывается не в родном разрешении, а увеличенном и кратном двум. Затем результат уменьшают до требуемых размеров, и тогда «лесенка» по краям объекта становится не такой заметной. Чем выше исходное изображение и коэффициент сглаживания (2x, 4x, 8x, 16x, 32x), тем меньше ступенек будет на моделях. MSAA в отличие от FSAA сглаживает лишь края объектов, что значительно экономит ресурсы видеокарты, однако такая техника может оставлять артефакты внутри полигонов.

Раньше Anti-Aliasing всегда существенно снижал fps в играх, однако теперь влияет на количество кадров незначительно, а иногда и вовсе никак не cказывается.

Тесселяция

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

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

Технология тесселяции известна в кинематографе еще с 80-х го-дов, однако в играх она стала поддерживаться лишь недавно, а точнее после того, как графические ускорители наконец достигли необходимого уровня производительности, при котором она может выполняться в режиме реального времени.

Чтобы игра могла использовать тесселяцию, ей требуется видеокарта с поддержкой DirectX 11.

Вертикальная синхронизация

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

Если частота обновления монитора составляет 60 Гц, и видео-карта успевает просчитывать 3D-сцену как минимум с таким же количеством кадров, то каждое обновление монитора будет отображать новый кадр. Другими словами, с интервалом 16,66 мс пользователь будет видеть полное обновление игровой сцены на экране.

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

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

Post-processing

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

High dynamic range (HDR)

Эффект, часто используемый в игровых сценах с контрастным освещением. Если одна область экрана является очень яркой, а другая, наоборот, затемненной, многие детали в каждой из них теряются, и они выглядят монотонными. HDR добавляет больше градаций в кадр и позволяет детализировать сцену. Для его применения обычно приходится работать с более широким диапазоном оттенков, чем может обеспечить стандартная 24-битовая точность. Предварительные просчеты происходят в повышенной точности (64 или 96 бит), и лишь на финальной стадии изображение подгоняется под 24 бита.

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

Bloom

Bloom нередко применяется совместно с HDR, а еще у него есть довольно близкий родственник - Glow, именно поэтому эти три техники часто путают.

Bloom симулирует эффект, который можно наблюдать при съемке очень ярких сцен обычными камерами. На полученном изображении кажется, что интенсивный свет занимает больше объема, чем должен, и «залазит» на объекты, хотя и находится позади них. При использовании Bloom на границах предметов могут появляться дополнительные артефакты в виде цветных линий.

Film Grain

Зернистость - артефакт, возникающий в аналоговом ТВ при плохом сигнале, на старых магнитных видеокассетах или фотографиях (в частности, цифровых изображениях, сделанных при недостаточном освещении). Игроки часто отключают данный эффект, поскольку он в определенной мере портит картинку, а не улучшает ее. Чтобы понять это, можно запустить Mass Effect в каждом из режимов. В некоторых «ужастиках», например Silent Hill, шум на экране, наоборот, добавляет атмосферности.

Motion Blur

Motion Blur - эффект смазывания изображения при быстром перемещении камеры. Может быть удачно применен, когда сцене следует придать больше динамики и скорости, поэтому особенно востребован в гоночных играх. В шутерах же использование размытия не всегда воспринимается однозначно. Правильное применение Motion Blur способно добавить кинематографичности в происходящее на экране.

Эффект также поможет при необходимости завуалировать низкую частоту смены кадров и добавить плавности в игровой процесс.

SSAO

Ambient occlusion - техника, применяемая для придания сцене фотореалистичности за счет создания более правдоподобного освещения находящихся в ней объектов, при котором учитывается наличие поблизости других предметов со своими характеристиками поглощения и отражения света.

Screen Space Ambient Occlusion является модифицированной версией Ambient Occlusion и тоже имитирует непрямое освещение и затенение. Появление SSAO было обусловлено тем, что при современном уровне быстродействия GPU Ambient Occlusion не мог использоваться для просчета сцен в режиме реального времени. За повышенную производительность в SSAO приходится расплачиваться более низким качеством, однако даже его хватает для улучшения реалистичности картинки.

SSAO работает по упрощенной схеме, но у него есть множество преимуществ: метод не зависит от сложности сцены, не использует оперативную память, может функционировать в динамичных сценах, не требует предварительной обработки кадра и нагружает только графический адаптер, не потребляя ресурсов CPU.

Cel shading

Игры с эффектом Cel shading начали делать с 2000 г., причем в первую очередь они появились на консолях. На ПК по-настоящему популярной данная техника стала лишь через пару лет, после выхода нашумевшего шутера XIII. С помощью Cel shading каждый кадр практически превращается в рисунок, сделанный от руки, или фрагмент из детского мультика.

В похожем стиле создают комиксы, поэтому прием часто используют именно в играх, имеющих к ним отношение. Из последних известных релизов можно назвать шутер Borderlands, где Cel shading заметен невооруженным глазом.

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

Depth of field

Глубина резкости - это расстояние между ближней и дальней границей пространства, в пределах которого все объекты будут в фокусе, в то время как остальная сцена окажется размытой.

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

Лицезреть эффект глубины резкости в гипертрофированной форме можно на некоторых фотографиях. Именно такую степень размытия часто и пытаются симулировать в 3D-сценах.

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

Влияние на производительность

Чтобы выяснить, как включение тех или иных опций сказывается на производительности, мы воспользовались игровым бенчмарком Heaven DX11 Benchmark 2.5. Все тесты проводились на системе Intel Core2 Duo e6300, GeForce GTX460 в разрешении 1280×800 точек (за исключением вертикальной синхронизации, где разрешение составляло 1680×1050).

Как уже упоминалось, анизо-тропная фильтрация практически не влияет на количество кадров. Разница между отключенной анизотропией и 16x составляет всего лишь 2 кадра, поэтому рекомендуем ее всегда ставить на максимум.

Сглаживание в Heaven Benchmark снизило fps существеннее, чем мы того ожидали, особенно в самом тяжелом режиме 8x. Тем не менее, поскольку для ощутимого улучшения картинки достаточно и 2x, советуем выбирать именно такой вариант, если на более высоких играть некомфортно.

Тесселяция в отличие от предыдущих параметров может принимать произвольное значение в каждой отдельной игре. В Heaven Benchmark картинка без нее существенно ухудшается, а на максимальном уровне, наоборот, становится немного нереалистичной. Поэтому следует устанавливать промежуточные значения - moderate или normal.

Для вертикальной синхронизации было выбрано более высокое разрешение, чтобы fps не ограничивался вертикальной частотой развертки экрана. Как и предполагалось, количество кадров на протяжении почти всего теста при включенной синхронизации держалось четко на отметке 20 или 30 кадров/с. Это связано с тем, что они выводятся одновременно с обновлением экрана, и при частоте развертки 60 Гц это удается сделать не с каждым импульсом, а лишь с каждым вторым (60/2 = 30 кадров/с) или третьим (60/3 = 20 кадров/с). При отключении V-Sync число кадров увеличилось, однако на экране появились характерные артефакты. Тройная буферизация не оказала никакого положительного эффекта на плавность сцены. Возможно, это связано с тем, что в настройках драйвера видеокарты нет опции принудительного отключения буферизации, а обычное деактивирование игнорируется бенчмарком, и он все равно использует эту функцию.

Если бы Heaven Benchmark был игрой, то на максимальных настройках (1280×800; AA - 8x; AF - 16x; Tessellation Extreme) в нее было бы некомфортно играть, поскольку 24 кадров для этого явно недостаточно. С минимальной потерей качества (1280×800; AA - 2x; AF - 16x, Tessellation Normal) можно добиться более приемлемого показателя в 45 кадров/с.