Сравнение режимов рендеринга DX9 и DX10. Исследование качества изображения
Движок CryEgine2 поддерживает два пути рендеринга картинки – DX9 и DX10. Причем последний активируется автоматически при наличии соответствующего железа (и, конечно же, при использовании операционной системы Windows Vista).
Помимо этого, разработчики из Crytek подчеркивают, что вся красота графики может быть реализована только в режиме DirectX 10.
Пожалуй, этот факт расстроит обладателей мощных графических решений с поддержкой DX9, однако на самом деле это не что иное, как маркетинговый ход. Благодаря старанию энтузиастов, которые хорошо "покопались" в файлах конфигурации игры, было выяснено, что Windows Vista и аппаратная поддержка DX10 отнюдь не являются обязательными компонентами для получения максимально качественной картинки в Crysis. Все красоты можно получить и на DX9, для этого необходимо модифицировать все конфигурационные файлы, находящиеся в директории "GameConfigCVarGroups", путем замены полей "High" на "Very High". После этих нехитрых манипуляций изображение практически ничем не будет уступать картинке, полученной при помощи API DX10.
В данном материале по соображениям оперативности мы пока откажемся от манипуляций с файлами конфигураций, но в дальнейшем обязательно еще раз вернемся к этому вопросу. А пока будем работать со стандартными возможностями демо-версии Crysis.
Итак, для того чтобы расставить все точки над "I" в вопросе режимов работы в DX9 и DX10, давайте присмотримся следующим скриншотам:
DX9 High Quality DX10 High Quality
Разница между картинками DX9 и DX10 очень мала, но все же имеется. Так, в программной среде DX10 границы теней выглядят более "мягче" и слегка темнее, чем у DX9. Помимо этого, имеются незначительные отличия в качестве прорисовки водных поверхностей, а также четкости текстур на отдаленных объектах.
Подводя итог вышесказанному, по совокупности сравниваемых параметров изображение в API DX10 выглядит более привлекательным, чем в DX9. Справедливости ради стоит отметить, что это не окончательный вердикт, и с выходом обновленных драйверов многое может измениться.
Помимо этого, не менее интересным будет сравнение Very High Quality и High Quality при рендеринге картинки с применением API DX10.
High Quality Very High Quality
Отличия в данном случае уже весомее и видны невооруженным глазом. Отметим по порядку основные преимущества Very High Quality:
- реалистичнее тени;
- безупречное качество водных поверхностей;
- увеличенная четкость и качества текстур;
- более агрессивный LOD (снижение качества отображения удаленных объектов и дальность видимости).
Фотореалистичность картинки просто поражает, а как это все отразится на производительности?
Об этом мы расскажем немного ниже, а сейчас в завершении данного раздела хотелось бы разобраться в различиях (если таковые есть) качества рендеринга картинки видеокартами AMD и NVIDIA. Оценку будем проводить на двух видеоускорителях: Radeon HD 2600 XT 256 MB и GeForce 8600 GTS 512 MB.
При этом использовались следующие настройки драйверов:
Для NVIDIA - ForceWare 169.01/04:
- texture filtering - high quality;
- vertical sync – off;
- anisotropic optimization – off;
- anisotropic sample optimization – off;
- transparency antialiasing – off.
Для AMD - Catalyst 7.10:
- Catalyst A.I – standard;
- mipmap detail level - high quality;
- wait for vertical refresh – off;
- adaptive antialiasing – off;
- temporal antialiasing - off ;
- high quality anisotropic filtering – off.
Все остальные настройки – по умолчанию.
DirectX 10, Very High Quality
AMD NVIDIA
DirectX 9, High Quality
AMD NVIDIA
По сути, различия в качестве отображения картинки между Radeon HD 2600 XT 256 MB и GeForce 8600 GTS 512 MB минимальны, но все же имеют место. Это связано с качеством прорисовки текстур на удаленных объектах. Так, на видеокартах NVIDIA, если взглянуть на скриншоты, они смотрятся чуть четче и более детализировано. Это можно связать с различной оптимизацией текстурной фильтрации карт AMD и NVIDIA, использующих специфические для своих чипов алгоритмы, каждый из которых имеет свои недостатки и преимущества.
Помимо этого, нельзя не обратить внимания на то, что к выходу демо-версии Crysis NVIDIA приурочила выпуск beta-версии драйверов ForceWare 169.1, специально оптимизированную и исправляющую проблемы с графикой в данном шутере. Пожалуй, поэтому победа по качественным характеристикам изображения достается продукции NVIDIA.
Вопрос о качестве рендеринга картинки мы оставляем открытым и в обновленном материале еще раз вернемся к нему, а в данный момент мы плавно переходим к методике тестирования и оглашению результатов.
Методика тестирования производительности
Демо-версия Crysis, скажем спасибо создателям, имеет встроенный бенчмарк для замеров производительности. Вдобавок ко всему разработчики не поленились записать демку и bat-файл для ее прогона (его можно найти в папке, "CrysisBin32", конечно же, при условии установки пакета Crysis по умолчанию).
Воспроизведение демо-записи, для исключения погрешностей эксперимента,
производилось 4 раза (значение по умолчанию, установленное разработчиками бенчмарка). При этом конфигурационные файлы игры модификациям не подвергались. Тестирование проводилось в трех стандартных для нашей методики разрешениях: самые "ходовые" 1024x768, 1280х1024 и ставшее уже привычным Full-HD разрешение 1920х1080.
Стоит также отметить, что при тестировании нами было принято решение использовать настройки качества графики адекватно классу видеоадаптера:
- низкие настройки качества (Low Quality) - для видеокарт Low-End, Middle-End;
- средние настройки качества (Medium Quality) - для видеокарт Low-End, Middle-End, Hi-End;
- высокие настройки качества (High Quality) - для видеокарт класса Middle-End, Hi-End;
- самые высокие настройки качества (Very High Quality) - для видеокарт класса Hi-End.
Позже мы обязательно объясним, почему используются именно такие настройки, впрочем, уже при беглом взгляде на графики производительности все становится очевидно.
В тестах использовалась демо-версия игры Crysis, доступная для скачивания на сайте разработчика и множестве зеркал (1.77 GB).