Полная поддержка DirectX 12 видеокарт NVIDIA

Компания Microsoft в своих материалах в основном рассказывает о внесенных в новую версию графического API оптимизациях производительности — Direct3D 12 позволяет меньше грузить CPU бесполезной работой, удобно контролировать использование ресурсов GPU, что раньше делалось операционной системой и видеодрайвером, а графический код можно лучше распараллелить на несколько вычислительных устройств. Все это позволяет значительно повысить производительность, особенно в условиях, когда она ограничена большим количеством вызовов функций отрисовки (draw calls). Что даже еще более важно, эти возможности поддерживаются на всех видеокартах GeForce, начиная с GTX 400.

Но не только оптимизации производительности отличают DirectX 12, в этом API есть еще и новые функции, помогающие внедрению в 3D-приложения новых эффектов. Среди них отметим появление поддержки объемных тайловых ресурсов (volume tiled resources), которые можно использовать при рендеринге реалистично выглядящих огня и дыма. DirectX 12 предлагает два уровня поддержки функциональности Feature Level: 12.0 и 12.1.

Уровень 12.0 включает поддержку тайловых ресурсов (tiled resources), которые можно использовать для рендеринга теней при помощи карт теней разного разрешения, bindless-текстур, увеличивающих одновременное количество обрабатываемых текстур в одной шейдерной программе и снижающих нагрузку на CPU, а также Typed UAV (Unordered Access Views). Уровень 12.1 добавляет ко всем этим особенностям еще и консервативную растеризацию и raster ordered view — эта функция дает контроль над порядком операций пиксельного шейдера и позволяет использовать алгоритмы для рендеринга полупрозрачных поверхностей, не требующие предварительной сортировки, например.

Дополнительно, все графические чипы семейства GM2xx поддерживают объемные тайловые ресурсы (volume tiled resources), схожие по типу с просто тайловыми, но в трехмерном виде. Принцип работы тайловых ресурсов состоит в разделении текстур на тайлы, а в процессе рендеринга приложение определяет и загружает в видеопамять лишь те тайлы, которые нужны для визуализации. Эта возможность позволяет игровым разработчикам получать более разнообразные текстуры на объектах в сцене при меньшем использовании видеопамяти, а также помогает в организации текстурного стриминга.

Так вот, ранее тайловые ресурсы были доступны лишь для двумерных текстур, а объемные тайловые текстуры переносят эту же функциональность на 3D-текстуры. Это логично, ведь множество эффектов нуждаются в объеме, чтобы выглядеть реалистично: жидкости, дым, огонь, туман — это лишь самые очевидные примеры. И рендеринг сложных сцен с содержанием подобных эффектов на GPU с поддержкой объемных тайловых текстур позволяет использовать ресурсы видеопамяти более эффективно, и также улучшать качество имитации того или иного эффекта. К примеру, для качественной имитации дыма в играх можно использовать симуляцию жидкостей, как показывала NVIDIA в нескольких демонстрационных программах:

Ну а консервативная растеризация, также поддерживаемая чипами семейства Maxwell и являющаяся обязательной возможностью Feature Level 12.1, отличается от обычной растеризации тем, что в процессе отрисовываются не только те пиксели, в центр которых попала геометрия сцены, а все пиксели, в площадь которых попал даже маленький кусочек треугольника. Эту функциональность можно использовать в процессе вокселизации (конвертации геометрии в воксели), как в алгоритме глобального освещения VXGI от NVIDIA.

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

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

Самый важный вопрос — когда мы увидим все это великолепие в играх? По данным компании Microsoft, около 100 игровых разработчиков уже занимаются разработкой 3D-приложений, использующих возможности новой версии их графического API, и мы уже видели несколько соответствующих демонстраций на CryENGINE, Unity и Unreal Engine, запущенных на ПК с видеокартами GeForce на различных мероприятиях. Главное, что архитектура Maxwell от NVIDIA обладает полноценной поддержкой всех возможностей текущей версии DirectX 12 уровня Feature Level 12.1 — самого совершенного на данный момент.

От себя хочу добавить, что реализация  DirectX 12 будет напрямую зависеть от аппаратной поддержки видеокарты, а производительность в играх как всегда от разработчика. До выхода самой ОС Windows 10 осталось всего  2 месяца, а игры с поддержкой нового DirectX не заставят себя долго ждать.

22
58
Комментарии:  58
Ваш комментарий

Главное, что старые карты получают прирост производительности.

Короче АМУДЕ - предсказания не сбылись, Maxwll полностью тянет 12,азазазаза

warp 37 Но на сколько будет эта производительность больше? ))

Не ужели 960-970-980-980Ti-GTX TITAN X поддерживает полноценный 12-ый? То снимаю шляпу перед Хуангом

Кстати на Ведьмака же разработчики обещали завезти DirectX 12

warp 37 DX12 ничего прорывного не несёт, кроме повышения производительности Перечитай статью еще раз.

Короче, DX12 будет полезен только для владельцев каких-нибудь захудалых i3. Остальные, никакого прироста производительности не увидят.

Неужели моя GTX660 еще послужит на DX12 ?

warp 37 ага, а эти 15% выльются в 3-5 фпс в современных играх, а в старые игры dx12 никто не будет завозить и то этот прирост будет лишь в первых играх, а потом как обычно напихают кучу эффектов, забьют на оптимизацию и -20 фпс на старых картах ибо новые карты тоже нужно продавать

Не будет никакого прироста, разве что в первых играх оптимизацию сделают, а потом всё по старому будет.

ЗАГРУЗИТЬ ВСЕ КОММЕНТАРИИ