1. Главная страница » Компьютеры

Gtx 970 directx 12

Автор: | 16.12.2019

Близится выход Windows 10, поэтому сегодня внимание производителей видеокарт, разработчиков игр и геймеров приковано к новым API. Но большинство пользователей по-прежнему путаются в том, какие видеокарты будут поддерживать новый DX 12 и в каком виде. Нас вновь ожидают несколько уровней поддержки. Они соответствуют разным уровням аппаратной и программной поддержки, ниже мы как раз рассмотрим их более детально.

Большинство современных видеокарт, будь то от AMD или NVIDIA, поддерживают DirectX 12 в "родном" режиме. Однако речь здесь идёт о минимальном уровне поддержки, старые GPU не смогут полностью реализовать все технологии, поскольку они вышли два-три года назад. Но позвольте пролить свет на данный вопрос.

DirectX 12 API

Начнём с API DirectX 12. Важной частью API является снижение избыточной вычислительной нагрузки, что верно и для других низкоуровневых API, таких как Mantle. Здесь суть кроется не столько в представлении новых технологий, сколько в более эффективном использовании доступных ресурсов. Первые тесты под Windows 10 уже показали существование потенциала производительности. Но данные тесты были ограничены определёнными сценариями, и пока не совсем понятно, какой прирост производительности можно ожидать в играх из-за снижения избыточной вычислительной нагрузки.

На низком уровне API DirectX 12 обеспечивает для программистов более эффективные средства доступа к "железу". Сюда входит и улучшенное управление видеопамятью. Так что потенциально перед программистами открываются дополнительные возможности, но при этом и влияние ошибок может быть весьма печальным.

Технология Asynchronous Compute тоже является частью низкоуровневой поддержки, она позволяет лучше и эффективнее использовать ступени фиксированного конвейера рендеринга и уменьшить время рендеринга. Так что одновременно можно выполнять больше команд, а также задействовать больше ступеней конвейера. Уменьшение времени рендеринга приведёт к более высокой частоте кадров в секунду и к снижению задержек, что положительно сказывается на некоторых областях – например, на поддержке очков виртуальной реальности VR.

Читайте также:  3D модели для daz не разархивируются ошибка

DirectX 12_0

Только GPU или архитектуры, специально разработанные для поддержки DirectX 12, будут поддерживать уровень функций DirectX 12_0, который содержит ряд новых технологий. Среди них – тайловые ресурсы Tiled Resources. В принципе, тайловые ресурсы известны ещё по DirectX 11, они отличаются высокой эффективностью по используемой памяти, а также могут значительно улучшить уровень детализации. С помощью мелких текстур в многократных ориентациях можно симулировать крупные текстуры. Кроме того, существенно экономится память. А качество картинки приносить в жертву не придётся.

В примере приводится классическая текстура Texture 3D под DirectX 11 с разрешением 1.200 x 600 x 600 пикселей с 32-битным цветом – она занимает 1,6 Гбайт. С тем же качеством можно использовать тайловую текстуру Tiled Texture 3D через многократные повторения – она будет иметь разрешение 32 x 32 x 16 пикселей с 32-битным цветом. Размер при этом будет составлять 156 Мбайт. В одном из примеров приведена сцена рендеринга, в которой тайловая 3D-текстура используется 2.500 раз. Для создания и симуляции некоторых материалов в 3D добавляется ещё одно информационное поле. Им может быть, например, значение прозрачности или вязкости. Такой подход позволяет лучше симулировать жидкости и газы.

Ещё один тип тайловых ресрусов – объёмные тайловые ресурсы (Volume Tiles Resources), однако они относятся к уровню функций уже не DirectX 12_0, а 12_1.

Новые технологии DirectX 12

К уровню DirectX 12_0 относится Typed UAV и новая модель Bind, которые ориентируют API на большее число ядер CPU, что обеспечивает более широкую параллелизацию и производительность. Обе функции мы уже рассматривали в обзоре GeForce GTX 980 и GTX 970.

DirectX 12_1

Ещё на шаг дальше Microsoft и разработчики GPU пошли с DirectX 12_1. Но данный урвоень функций поддерживают только самые новейшие GPU. К ним относятся все GPU на основе 2-го поколения "Mawell". Одна из новых технологий – консервативная растеризация (Conservative Rasterization). Она используется для фильтра динамического суперразрешения (Dynamic Super Resolution) и сглаживания Multiframe Sampled Anti-Aliasing.

Новые технологии DirectX 12

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

Аппаратная поддержка

Конечно, многих читателей интересует вопрос о том, какие GPU или видеокарты будут поддерживать DirectX 12 и на каком уровне. Хотя оба разработчика GPU AMD и NVIDIA несколько лет говорят о поддержке DirectX 12, она пока остаётся довольно ограниченной.

Поддержка DirectX 12 на современных видеокартах

Архитектура GPU DirectX 12 API DirectX 12_0 DirectX 12_1 DirectX "12_2"
NVIDIA "Maxwell" 2-го поколения Да Да Да Да
NVIDIA "Maxwell" 1-го поколения Да Нет Нет Нет
NVIDIA Kepler Да Нет Нет Нет
NVIDIA Fermi Да Нет Нет Нет
AMD GCN 1.2 Да
AMD GCN 1.1 Да
AMD GCN 1.0 Да

По крайней мере, NVIDIA вместе с представлением GeForce GTX 980 Ti пролила свет на поддержку нового API. Только видеокарты 2-го поколения архитектуры "Maxwell" будут поддерживать все упомянутые ранее функции и технологии. Среди них — GeForce GTX Titan X, GTX 980 Ti, GTX 980, GTX 970 и GTX 960. Все другие видеокарты вплоть до линейки GeForce 500 с GPU "Fermi" смогут поддерживать DirectX 12 API на базовом уровне, пользователи выиграют от улучшенного взаимодействия между драйвером и API.

К сожалению, со стороны AMD картина не такая понятная. Архитектура "Graphics Core Next" тоже даёт разные уровни поддержки. GCN версии 1.2 была реализована на видеокартах Radeon R9 285, в модифицированном виде мы получим поддержку и на новых видеокартах "Fiji". Версии GCN 1.1 (линейки Radeon 290 и Radeon 260) и GCN 1.0 (линейки Radeon 200 и Radeon 7000) тоже совместимы с DirectX 12, но, скорее всего, тоже на самом нижнем уровне. К сожалению, от AMD пока нет чётких утверждений по поводу поддержки DirectX 12. Некоторые функции, подобные асинхронным шейдерам (Asynchronous Shaders), должны работать на всех GPU с архитектурой "Graphics Core Next".

Вероятно, нам придётся подождать некоторое время, прежде чем AMD, NVIDIA и Intel представят более конкретную информацию об уровне функций. По крайней мере со стороны NVIDIA ситуация с поддержкой прояснилась.

DirectX 12 (DX12) позволяет разработчикам создавать впечатляющие графические эффекты для ПК-игр на ОС Microsoft Windows. Видеокарты GeForce поддерживают инновационные возможности DX12, такие как трассировка лучей и Variable rate shading, обеспечивая в играх сверхреалистичные визуальные эффекты и более быструю смену кадров.

Валерий Косихин

17 июля 2018

Эра Direct3D 12 в компьютерных играх официально наступила, и нет никаких сомнений в том, что этой технологии принадлежит будущее, — столь много усовершенствований вобрал в себя новый интерфейс программирования. Direct3D 12 (и его кроссплатформенный коллега Vulkan) позволяет игровому движку более эффективно распоряжаться ресурсами GPU за счет прямого управления теми задачами, которые в предыдущих итерациях API выполнял драйвер или сами библиотеки Direct3D. Современные GPU в полной мере поддерживают функции рендеринга Direct3D 12 и обеспечивают эффективную интеграцию графики с вычислениями общего назначения (так называемыми асинхронными вычислениями).

Вот только на практике API нового поколения еще далеки от реализации всего заложенного в них потенциала. Не будем приукрашивать картину, которая открылась в первой части тестирования видеокарт в Direct3D 12 и Vulkan. Фактически лишь две из игр, которые мы постоянно используем в качестве бенчмарков GPU, показали, на что способно новое ПО при должном старании разработчиков, — мы говорим о Ashes of the Singularity и DOOM. В остальных тестах при смене API можно рассчитывать в лучшем случае на умеренный рост быстродействия, и то с массой оговорок.

Так, среди графических процессоров последних поколений только большие чипы AMD — Hawaii (Radeon R9 390X), Fiji (Radeon R9 Fury X) и Vega (Radeon RX Vega 64) — проявили большую симпатию по отношению к Direct3D 12. На быстродействие флагманской видеокарты NVIDIA (GeForce GTX 1080 Ti) программный интерфейс в среднем никак не влияет, а остальные «зеленые» процессоры работают под ним хуже, чем под старым. Наконец, Microsoft невольно выдала черную метку чипам с архитектурой Kepler и Maxwell, которые, по всей видимости, уже никогда не обретут полноценной поддержки в игровых движках под Direct3D 12.

Слабость API нового поколения является обратной стороной их силы: «тонкие» библиотеки Direct3D 12 отдали множество функций разработчикам игровых движков, а внедрение нужных приемов программирования в массовом ПО идет с запозданием. Неудивительно, ведь в игровых компьютерах по-прежнему стоит масса видеокарт, которые в лучшем случае лишь формально совместимы с Direct3D 12 и Vulkan, поэтому мощную оптимизацию игр под новые API пока можно наблюдать лишь в отдельных проектах на основе собственных движков.

⇡#Графические API и процессорозависимость

Однако часть функций Direct3D 12 и Vulkan не требует от разработчиков игр особенных усилий. Сама структура конвейера этих API позволяет снизить нагрузку на центральный процессор за счет сокращения времени подготовки draw call, что особенно важно, когда на экране присутствует множество отдельных моделей [прим.: Draw call — команда, требующая создать единственную полигональную сетку (mesh)].

Впервые на эту проблему обратили внимание AMD и DICE, создатели проприетарного низкоуровневого интерфейса Mantle. Первым тайтлом с поддержкой Mantle стала Battlefield 4, но тогда, в 2014 году, игровая графика не была настолько богата геометрией, чтобы центральный процессор ограничивал частоту смены кадров в сбалансированной системе. Даже год спустя мы пришли к выводу (см. наше тестирование процессорозависимости), что любой худо-бедно современный процессор Intel с четырьмя ядрами раскрывает потенциал топовых GPU того времени.

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

Самый яркий, хотя и довольно экзотический пример — стратегия Ashes of the Singularity. Ее движок именно за счет быстрой отдачи draw call сильно наращивает быстродействие под Direct3D 12 и Vulkan даже при мощном центральном процессоре. Но в нашей методике есть и другие игры с богатой геометрией. В этот раз мы проведем тестирование на платформе с четырьмя ядрами и сниженной частотой CPU, а потом сравним результаты с тем, что было получено ранее при помощи высокопроизводительного процессора.

В предыдущей части тестирования процессор нашего тестового стенда, Core i7-5960X, работал на постоянной частоте 4 ГГц при восьми активных ядрах. Для имитации более слабого CPU мы отключили половину ядер и установили тактовую частоту на отметке 2,5 ГГц.

Честно говоря, это не очень реалистичная конфигурация для современных CPU Intel (даже младшие модели Core i5 поколений Caby Lake и Coffee Lake берут более высокие частоты при полной загрузке четырех ядер), но она вполне соответствует некоторым моделям предыдущих поколений. 1,5 ГГц — подходящая разница, чтобы наглядно показать связь версии графического API и процессорозависимости, а измерение кадровой частоты на всем спектре моделей современных CPU пусть останется задачей для следующей части нашей серии «Процессорозависимость».

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

По итогам первого тестирования мы дисквалифицировали из участников несколько видеокарт, в первую очередь GeForce GTX 970 и GTX 980 Ti, которые не годятся для игр под Direct3D 12 и Vulkan в силу архитектурных особенностей. Кроме того, были исключены бюджетные игровые видеокарты Radeon RX 560 и GeForce GTX 1050 Ti — у них попросту недостаточно мощные GPU, чтобы оптимизация API сыграла большую роль даже на слабой платформе.

Наконец, мы нашли несколько ошибок в тестовых результатах первой части стати и приведем все данные (как при сильном, так и при слабом CPU) в обобщающих графиках и таблицах. Для того чтобы обеспечить корректное сравнение, новые результаты получены на тех же версиях драйверов (Radeon Software Crimson Adrenalin Edition 18.1.1 и GeForce Game Ready Driver 390.65), которые мы использовали в прошлый раз. Драйверы довольно старые, но, если бы мы повторили тесты на актуальных версиях, это бы не повлияло сколь-либо существенно на результаты. В конце концов, самая свежая из выбранных игр вышла еще в сентябре прошлого года, и драйверы уже содержат оптимизации для всех них. За прошедшее время каких-либо глобальных изменений в ПО, которые поднимают общее быстродействие, производители GPU не внесли.

⇡#Тестовый стенд, методика тестирования

Конфигурация тестовых стендов
CPU Intel Core i7-5960X (4 ядра @ 2,5 ГГц, постоянная частота)
Intel Core i7-5960X (8 ядер @ 4,0 ГГц, постоянная частота)
Материнская плата ASUS RAMPAGE V EXTREME
Оперативная память Corsair Vengeance LPX, 2133 МГц, 4 × 4 Гбайт
ПЗУ Intel SSD 520 240 Гбайт + Crucial M550 512 Гбайт
Блок питания Corsair AX1200i, 1200 Вт
Система охлаждения CPU Thermalright Archon
Корпус CoolerMaster Test Bench V1.0
Монитор NEC EA244UHD
Операционная система Windows 10 Pro x64
ПО для GPU AMD
Все видеокарты Radeon Software Crimson Adrenalin Edition 18.1.1
ПО для GPU NVIDIA
Все видеокарты GeForce Game Ready Driver 390.65
Бенчмарки: игры
Игра (в порядке даты выхода) API Настройки, метод тестирования Полноэкранное сглаживание
1920 × 1080 / 2560 × 1440 3840 × 2160
Rise of the Tomb Raider DirectX 11/12 Макс. качество, VXAO выкл. Встроенный бенчмарк Выкл.
Tom Clancy’s The Division DirectX 11/12 Макс. качество, HFTS выкл. Встроенный бенчмарк SMAA 1x Ultra + TAA: Supersampling TAA: Stabilization
DOOM OpenGL 4.5 / Vulkan Макс. качество. Миссия Foundry TSSAA 8TX Выкл.
Deus Ex: Mankind Divided DirectX 11/12 Макс. качество. Встроенный бенчмарк Выкл.
Battlefield 1 DirectX 11/12 Макс. качество. OCAT, начало миссии Over the Top TAA
Ashes of the Singularity: Escalation DirectX 11/12/ Vulkan Выкл.
Total War: WARHAMMER II, встроенный бенчмарк DirectX 11/12 Макс. качество. Встроенный бенчмарк (Battle Benchmark) Выкл.

В тестовую обойму вошли семь игр 2016–2017 годов выпуска, среди которых шесть поддерживают API Direct3D 12 и две — Vulkan. Доподлинно известно, что все они так или иначе задействуют функцию Multi-Engine («асинхронные вычисления»). И пара слов о DOOM. Эта игра использует так называемые Shader Intrinsitc Functions — шейдеры, непосредственно исполняемые на GPU избранной архитектуры, в обход стадии компиляции из высокоуровневого кода. Только Vulkan, в отличие от OpenGL и Direct3D любой версии, дает такую возможность, и только AMD выпустила для Vulkan соответствующее расширение. Собственные Shader Intrinsics есть и у NVIDIA, но они доступны только через проприетарый интерфейс NVAPI или библиотеки GameWorks. Именно поэтому Vulkan в DOOM принес GPU AMD такой мощный прирост быстродействия, хотя не обижены и чипы NVIDIA.

Тесты выполнены при разрешениях 1080p, 1440p и 2160p. Настройки подобраны таким образом, чтобы обеспечить высокую частоту смены кадров (от 60 FPS и выше в режиме 1080p) на мощных GPU последнего поколения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *