Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1. Видеокарты 12 директ


Как узнать какой DirectX поддерживает видеокарта

Вопрос о поддержке последней версии DirectX видеоадаптером, конечно же, больше всего волнует любителей компьютерных игр. Это и понятно, ведь чем выше версия Директ Икс установлена в компьютере, тем лучше будет отображаться игра. Но обладать мощным видеоадаптером ещё недостаточно, важно какая операционная система установлена. С момента анонса Виндовс 10, лидирующие разработчики на рынке видеоигр, естественно, сразу же объявили полную поддержку нового API, то есть Директ Икс 12.

Какой Директ Икс поддерживает видеокарта

Новый революционный стандарт DirectX 12

Чтобы немного разобраться в вопросе, какие же видеоадаптеры будут работать с DirectX 12. Nvidia прояснила ситуацию — для разного оборудования, в зависимости от года выпуска будет и осуществляться обеспечение на разных уровнях. Они же соответствуют разным уровням аппаратной и программной поддержки. То есть низкий уровень, для видеокарт 2012-2014 годов выпуска и высокий уровень для видеоадаптеров этого года. Непонятно для чего такое распределение, хотя есть вариант, что старые адаптеры не смогли бы обеспечить полную поддержку из-за своей слабой аппаратной части.

Директ Икс 12

Что же даёт нам Директ Икс 12, и каким волшебным способом он сможет поднять производительность ПК на 20-30%? Для разработчиков игр — это такая инструкция под ту систему, под которую они пишут данную игру. То есть DirectX 12 более понятен, чем, к примеру, DirectX 11. И из-за этого более плотное взаимодействие с системой и железом. Так что потенциально, перед программистом или разработчиком игр, открывается больше возможностей и простора в создании игр.

Поддержка Директ Икс видеокартой

И конечно же многих волнует вопрос, как узнать какой Директ Икс поддерживает видеокарта. Nvidia с выпуском своей топовой видеокарты geforce gtx 980 ti раскрыла карты о  Директ Икс 12. Итак, полную поддержку получат все видоадаптеры на maxwell 2.  А именно — gtx 980, Titan X, 980ti, 970, 960. Боле ранние выпуски, до линейки 500-й серии будут работать с Директ Икс 12 только на базовом уровне. А что касается версий ниже, будь то 400, 300, серия, то тут Nvidia как бы намекает, — ваша видюха устарела.

Директ Икс 12 поддержка видеокарт

Для AMD, так же будет три уровня, самым высоким уровнем будет AMD GCN 1.2. Его будут поддерживать последние вышедшие видеокарты. Средний уровень будут иметь карты Radeon от 260 до 290. И самый низкий уровень — для карт 200 и 7000 серий.

@top-advice.ru

top-advice.ru

Недорогие Видеокарты с DirectX 12 рейтинг: фото, характеристики, цены, отзывы

Мы собрали для вас фото, характеристики, цены и отзывы на Недорогие Видеокарты с DirectX 12 рейтинг.

1

Palit GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP Silent

к оглавлению ↑

Palit GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP Silent

  • видеокарта NVIDIA GeForce GT 720
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 797/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

от 2806 руб. до 7005 руб.

2

Inno3D GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

к оглавлению ↑

Inno3D GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

  • видеокарта NVIDIA GeForce GT 720
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 797/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

3250 руб.

3

Sapphire Radeon R7 240 780Mhz PCI-E 3.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

к оглавлению ↑

Sapphire Radeon R7 240 780Mhz PCI-E 3.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

  • видеокарта AMD Radeon R7 240
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 780/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.5
Цена

от 3367 руб. до 4682 руб.

к оглавлению ↑

Отзывы о Sapphire Radeon R7 240 780Mhz PCI-E 3.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

Достоинства

Маленькая, вместительная, неплохая по работоспособности

Недостатки

64bit шина

Комментарий

Купил данную видюшку, запускаю игры 2015 года и играю) Конечно же не все тянет, но всё же большую часть

Достоинства

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

Недостатки

Вращается вентилятор. Недостаточно высокая скорость памяти

Комментарий

На таких платах с соответственно низким тепловыделением лучше бы сочеталось пассивное охлаждение.Производительность возросла в три раза по сравнению со встроенным видеоускорителем HD-4200, что оказалось мне вполне оправданным.В целом приобретением доволен

4

Palit GeForce GT 730 902Mhz PCI-E 2.0 1024Mb 1804Mhz 64 bit DVI HDMI HDCP Silent

к оглавлению ↑

Palit GeForce GT 730 902Mhz PCI-E 2.0 1024Mb 1804Mhz 64 bit DVI HDMI HDCP Silent

  • видеокарта NVIDIA GeForce GT 730
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 902/1804 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

от 3450 руб. до 7176 руб.

к оглавлению ↑

Отзывы о Palit GeForce GT 730 902Mhz PCI-E 2.0 1024Mb 1804Mhz 64 bit DVI HDMI HDCP Silent

Достоинства

Нет шума.Цена.Современный чип.Производительность.

Недостатки

Как всегда чего то не хватает.

Комментарий

Сразу напишу, что покупал в рабочий комп. Ребят это видеокарта идёт только как замена встроенной. Если нет денег-берите. Передовые технологии, современных техпроцесс, долгая поддержка производителя. Зачем собирать старый хлам. Бюджетные варианты могут реально удивить:Ради интереса поставил игры всё идёт, причем очень даже неплохо идёт.

5

MSI GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP Silent

к оглавлению ↑

MSI GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP Silent

  • видеокарта NVIDIA GeForce GT 720
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 797/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

от 3481 руб. до 6708 руб.

6

ASUS GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

к оглавлению ↑

ASUS GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

  • видеокарта NVIDIA GeForce GT 720
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 797/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

от 3489 руб. до 6864 руб.

7

Palit GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

к оглавлению ↑

Palit GeForce GT 720 797Mhz PCI-E 2.0 1024Mb 1600Mhz 64 bit DVI HDMI HDCP

  • видеокарта NVIDIA GeForce GT 720
  • 1024 Мб видеопамяти GDDR3
  • частота ядра/памяти: 797/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

3655 руб.

8

Sapphire Radeon R7 240 730Mhz PCI-E 3.0 1024Mb 4600Mhz 128 bit DVI HDMI HDCP

к оглавлению ↑

Sapphire Radeon R7 240 730Mhz PCI-E 3.0 1024Mb 4600Mhz 128 bit DVI HDMI HDCP

  • видеокарта AMD Radeon R7 240
  • 1024 Мб видеопамяти GDDR5
  • частота ядра/памяти: 730/4600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.5
Цена

от 3724 руб. до 7130 руб.

к оглавлению ↑

Отзывы о Sapphire Radeon R7 240 730Mhz PCI-E 3.0 1024Mb 4600Mhz 128 bit DVI HDMI HDCP

Достоинства

По производительности практически в 2.3 раза быстрее встроенной в процессор Haswell G3220, малое потребление. Неплохо гонится.

Недостатки

Цена высоковата однако, добавить 300-500р и уже можно R7 250 взять.

Комментарий

Брал для HTPC кино смотреть и изредка поиграть в не новые игры. GRID 2 тянет 1920*1080 на максимальных настройках (есть ещё ультра) без затыков вообще. На ультра на глаз 25-30 фпс. Сменил родную пасту на КПТ заметно лучше стал температуру держать. Разогнал на столько, насколько дал Каталист — 900 чип, 1300 память, работало без вопросов.

9

Palit GeForce GT 720 797Mhz PCI-E 2.0 2048Mb 1600Mhz 64 bit DVI HDMI HDCP Silent

к оглавлению ↑

Palit GeForce GT 720 797Mhz PCI-E 2.0 2048Mb 1600Mhz 64 bit DVI HDMI HDCP Silent

  • видеокарта NVIDIA GeForce GT 720
  • 2048 Мб видеопамяти GDDR3
  • частота ядра/памяти: 797/1600 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.4
Цена

от 3810 руб. до 5161 руб.

10

Sapphire Radeon R7 240 730Mhz PCI-E 3.0 2048Mb 1800Mhz 128 bit DVI HDMI HDCP

к оглавлению ↑

Sapphire Radeon R7 240 730Mhz PCI-E 3.0 2048Mb 1800Mhz 128 bit DVI HDMI HDCP

  • видеокарта AMD Radeon R7 240
  • 2048 Мб видеопамяти GDDR3
  • частота ядра/памяти: 730/1800 МГц
  • разъемы DVI, HDMI, VGA
  • поддержка DirectX 12, OpenGL 4.5
Цена

от 3913 руб. до 6880 руб.

best-top-10.ru

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1 / Видеокарты

Интерфейсы прикладного программирования (API) долгое время оставались самым консервативным компонентом 3D-графики. Стандарт Direct3D 11 был представлен еще в 2008 году, и до сих пор основная масса новых игр на ПК использует его в качестве основного и в подавляющем большинстве случаев единственного API. Этот островок стабильности в чрезвычайно быстро развивающейся индустрии, какой являются компьютерные игры, образовался отнюдь не из-за традиционализма разработчиков ПО или производителей железа. Напротив, единый стандарт Microsoft, который вытеснил из большой игры некогда могущественного соперника (OpenGL), дал возможность всем участникам рынка сконцентрировать усилия на своих прямых задачах без необходимости оптимизировать драйверы, архитектуру GPU и игровые движки под несколько API одновременно (как в былинные времена под Glide и популярный OpenGL).

Недавние потрясения в этой сфере, связанные с названиями DirectX 12 и Vulkan, вызваны, по сути, усилиями единственной компании — AMD, которая в 2013 году выпустила собственный интерфейс программирования Mantle в сотрудничестве с DICE, автором игровой серии Battlefield. В данный момент работа над Mantle прекращена, но оба универсальных API нового поколения заимствовали идеи AMD и преследуют ту же цель — более эффективно использовать вычислительные ресурсы, которые имеются в распоряжении современных GPU.

Несмотря на столь привлекательную идею Direct3D 12 (здесь и далее мы будем говорить именно о графической библиотеке в составе DirectX) и Vulkan, темп внедрения новых API оставляет желать лучшего даже по сравнению с Direct3D 11, которому потребовался чрезвычайно долгий срок, чтобы целиком переманить разработчиков с Direct3D 9. И все же создатели значительного числа громких и высокобюджетных проектов последних двух лет внедрили поддержку Direct3D 12 или Vulkan по крайней мере в виде экспериментальной или побочной функции. В конце концов, методика тестирования GPU на 3DNews уже по большей части состоит из игр с поддержкой этих API. Подходящее время для того, чтобы провести исследование и сделать промежуточные выводы о том, насколько в действительности полезны DirectX 12 и Vulkan для производительности современного железа.

⇡#Новые функции Direct3D 12 и Vulkan

О принципах, лежащих в основе Direct3D 12, и его отличиях от предыдущей версии API Microsoft, мы писали в 2014 году, когда стандарт находился на ранней стадии разработки и многие из его особенностей еще не были финализированы. Главное, что изменилось в облике Direct3D 12 с тех пор, — это набор дополнительных функций рендеринга, открытых для графических процессоров с теми или иными аппаратными возможностями.

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

Самой привлекательной чертой Direct3D 12 и Vulkan является быстрая подготовка т. н. draw call. В то время, когда AMD стремилась популяризировать Mantle, множество людей, ранее далеких от программирования компьютерной графики, были вынуждены познакомиться с этим термином. В 3D-рендеринге так называется команда, требующая создать единственную полигональную сетку (mesh). В играх каждая модель персонажа, юнита и практически любого независимого объекта представляет собой mesh. Следовательно, чем больше таких объектов присутствует на экране, тем больше draw calls должен отдать центральный процессор. Короткая подготовка draw call в Direct3D 12 при прочих равных условиях снижает нагрузку на CPU, сокращает время бездействия графического процессора и в результате дает возможность выводить больше объектов на экран. Помогает и распределение нагрузки в многоядерной системе, которое в Direct3D 12 происходит более эффективно.

Многоядерные CPU в Direct3D 12

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

Direct3D 12 принес массу функций рендеринга, описанных в рамках feature levels 12_0 и 12_1. Но в отличие от предыдущих итераций Direct3D, 12-я версия предназначена не для того, чтобы явить миру нечто ранее невиданное (как это было с шейдерами в Direct3D 8 и тесселяцией полигонов в Direct3D 11). Действительно, некоторые возможности feature levels 12_0 и 12_1 повышают качество определенных эффектов (к примеру, связанных с прозрачными текстурами), а иные используются в перспективных алгоритмах рендеринга (см. описание VXGI в нашем обзоре GeForce GTX 980). И все же большинство пунктов feature levels 12_0 и 12_1 служит для того, чтобы графический процессор выполнял быстрее ряд уже известных задач, которые в противном случае создают большую нагрузку на пропускную способность блоков наложения текстур, шину памяти и пр.

В принципе, дополнительная вычислительная мощность, которую высвобождает новая версия API, сама по себе позволяет обогатить игровую графику более детализированными текстурами и объектами. Более того, в некоторых играх под Direct3D 12 и Vulkan геймплей тесно связан с выбором API (как в Ashes of the Singularity, которая за счет множества юнитов на экране создает огромное количество draw calls). Но если поставить вопрос в формулировке «Станет ли игра выглядеть лучше, если включить в ней Direct3D 12 или Vulkan?», то на данный момент ответ будет в подавляющем большинстве случаев отрицательным. Масштаб внедрения новых API все еще слишком мал, а железо на руках пользователей слишком разнообразно, чтобы разработчики игр открыли для видеокарт, хорошо работающих под Ditect3D 12 и Vulkan, эксклюзивный доступ к заметной части визуального контента.

Поддержка функций рендеринга Direct3D 12 в GPU различной архитектуры (Wikipedia)

По минимальным требованиям стандарта в категорию GPU, совместимых с feature level 12_1, проходят только архитектуры Vega, Maxwell и Pascal (а также интегрированная графика Intel, начиная с процессоров Skylake), а наиболее полной поддержкой обладает Vega и Intel HD Graphics. Но и другие архитектуры AMD или NVIDIA на том или ином уровне поддерживают ряд функций из feature level 12_0 и 12_1, в том числе одни из самых полезных: Conservative Rasterization, Volume Tiled Resources и Rasterizer Ordered Views.

При этом от графического процессора не требуется совместимость с feature level 12_0 и 12_1 для работы под Direct3D 12. В действительности GPU с возможностями на уровне feature level 11_0 и 11_1, созданные в ту пору, когда Direct3D 12 не было и в помине (архитектуры Femi и Kepler от NVIDIA и GCN первого поколения от AMD), могут воспользоваться всеми преимуществами runtime-библиотеки Direct3D 12 и, потенциально, получить выигрыш в быстродействии. У AMD и NVIDIA поддержка Direct3D 12 в драйвере начинается с серий Radeon HD 7000 и GeForce GTX 400 соответственно.

⇡#Асинхронные вычисления в Direct3D 11 и Direct3D 12

Современные GPU лишь в силу привычки называются графическими процессорами. Архитектура, состоящая из большого количества исполнительных блоков (ALU, потоковых процессоров или CUDA-ядер, в терминологии различных производителей), подходит для исполнения любых программ, легко разделяющихся на независимые друг от друга цепочки операций (GP-GPU, General Purpose GPU) — будь то промышленные задачи, майнинг криптовалюты, машинное обучение и т. д.

Методы GP-GPU применяются и в играх (по меньшей мере с того времени, когда NVIDIA купила компанию — создателя «физического ускорителя» Ageia и адаптировала ее API PhysX для работы на графических процессорах), но ни одна из коммерческих игр еще не может похвастаться тем, что раскрыла потенциал неграфических расчетов в такой степени, как «демки» PhysX, которые периодически демонстрирует NVIDIA. Причина лежит на поверхности: даже лучшие GPU не обладают избытком ресурсов для того, чтобы действительно масштабные вычисления игровой физики не уничтожили частоту смены кадров. Тем более в то время, как перед разработчиками ПО и железа открылись более заманчивые перспективы — разрешение сверхвысокой четкости и VR.

Однако актуальные и потенциальные функции вычислений общего назначения в современных играх не ограничиваются физикой. SSAO (Screen-Space Ambient Occlusion), локальные отражения в экранном пространстве (Screen-Space Reflections), генерация карт теней, различные модели глобального освещения и пр. могут быть реализованы в качестве методов GP-GPU. Нетрудно заметить, что в данном случае отсутствует принципиальная граница между задачами двух типов. Она существует лишь на уровне архитектуры приложения и API, когда графика и вычисления представляют собой отдельные очереди инструкций. Именно одновременное исполнение множественных очередей инструкций лежит в основе того, что называют (не вполне корректно, но об этом позже) асинхронными вычислениями.

В рамках Direct3D 11 существует единственная очередь инструкций для рендеринга графики. И как бы тщательно ни была оптимизирована архитектура GPU, в процессе рендеринга неизбежно возникают «пузыри», когда шейдерные ALU простаивают, в то время как свою работу выполняют другие компоненты процессора — блоки наложения текстур, ROP, шина памяти и т. д.

В свою очередь, Direct3D 12 и Vulkan позволяют создать две отдельные очереди — для графики и вычислений соответственно (не считая очереди для передачи данных по шине PCI Express), а задача распределения ресурсов GPU между ними ложится на сам процессор и его драйвер, которые следят за возникновением «пузырей» в той или иной очереди и эффективно их закрывают за счет инструкций из соседней очереди. В общих чертах подход аналогичен функции Hyper-Threading центральных процессоров.

Прим.: на самом деле в Direct3D 12 и Vulkan можно создавать множественные очереди всех трех типов — в зависимости от того, сколько поддерживает GPU.

Осталось пояснить, почему термин «асинхронность» не лучшим образом описывает то, что происходит в процессе рендеринга с двумя очередями инструкций, которые мы осторожно назвали отдельными, но не независимыми. Корректный (и официальный для Direct3D 12) термин — Multi-Engine. Дело в том, что те процедуры, которые исполняются в «графической» и «вычислительных» очередях Direct3D 12 или Vulkan, как правило, содержат взаимные зависимости данных: исполнение инструкций в одной очереди должно быть остановлено, пока не будет получен результат определенной инструкции из другой очереди.

В таком случае можно говорить лишь об одновременном (concurrent), но не асинхронном (независимом по времени завершения) исполнении. Примером истинной асинхронности является фоновый процесс с низким приоритетом, протекающий одновременно с рендерингом кадра, — такой, как декомпрессия ресурсов, обновление карт теней в моделях глобального освещения и пр. (см. слайд AMD выше). Таким образом, термин «асинхронные вычисления» применим к узкому кругу задач, в то время как понятие Multi-Engine описывает одновременное исполнение нескольких очередей вычислительных инструкций безотносительно к структуре зависимостей между ними.

«Асинхронные вычисления» не всегда асинхронны

⇡#Multi-Engine на GPU различной архитектуры: AMD GCN

Рассмотрим животрепещущий вопрос практической реализации Multi-Engine. Популярное мнение гласит, что а) графические процессоры AMD выигрывают от применения Multi-Engine, в то время как чипы NVIDIA (включая Pascal) не могут столь же эффективно использовать его в силу архитектурных ограничений, б) среди архитектур NVIDIA только Pascal поддерживает Multi-Engine. Как нам предстоит убедиться, оба утверждения в целом верны, но полная картина далеко не столь однозначна.

Самый простой для анализа случай — это архитектура GCN (Graphics Core Next), на которой основаны все графические процессоры AMD последних лет, начиная с Tahiti (Radeon HD 7950/7970) и заканчивая Vega 10 (Radeon RX Vega 56/64). Как достоинства, так и недостатки чипов AMD в действительности располагают к применению Multi-Engine. GCN в своей основе ориентирована на вычисления GP-GPU в не меньшей степени, чем на рендеринг графики, и устроена таким образом, что добрая часть задачи насыщения GPU параллелизмом решается на уровне «железа», а не драйвера или приложения. Даже самые ранние чипы GCN обеспечивают одновременное исполнение нескольких очередей «вычислительных» команд одновременно с очередью рендеринга графики за счет командных процессоров двух типов — GCP (Graphics Command Processor) и ACE (Advanced Compute Engine). А начиная с третьего поколения архитектуры (чипы Tonga и Fiji), GCN также включает раздельные планировщики для шейдерных и «вычислительных» инструкций. В результате процессор может динамически передавать вычислительные ресурсы отдельных CU (Compute Unit — блок, содержащий 64 ALU) между несколькими очередями инструкций.

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

Таким образом, управляющая логика GCN способна эффективно загружать исполнительные блоки GPU за счет инструкций из отдельных очередей, заполняя даже сравнительно небольшие «пузыри» конвейера. Итоговый прирост быстродействия зависит от того, насколько часто «пузыри» возникают в режиме одной очереди. Но ведь правда, графические процессоры AMD существенно недогружены в большинстве игр по сравнению с чипами NVIDIA, и с каждым новым поколением ситуация усугубляется. Достаточно взглянуть на Radeon RX Vega 64, которая в задачах GP-GPU по меньшей мере не уступает GeForce GTX 1080 Ti, но в играх едва справляется с GeForce GTX 1080. GCN — «широкая» архитектура, требующая высокого параллелизма для полной нагрузки. Поэтому да, возможности Multi-Engine, которые открывают современные API, могут стать большим подспорьем для AMD — с большой оговоркой о том, что разработчики игр начнут их активно использовать.

Multi-Engine на GPU различной архитектуры: NVIDIA Kepler, Maxwell и Pascal

Ситуация с поддержкой Multi-Engine в графических процессорах NVIDIA далеко не столь прозрачна, как в случае с AMD. Материалы NVIDIA, находящиеся в широком доступе, не дают ясного ответа на все вопросы. С полной уверенностью можно говорить лишь о том, каким именно из GPU архитектур Kepler, Maxwell и Pascal вообще разрешено иметь дело со смешанной нагрузкой (графика/вычисления) под управлением Direct3D 12 и Vulkan. А наше представление о том, почему это так, а не иначе, основано по большей части на сторонних источниках и не претендует на истину в последней инстанции. Что поделать, такова политика этой компании, особенно когда речь идет о недостатках их продуктов.

В отличие от AMD, NVIDIA решила разделить свои GPU на преимущественно потребительские либо профессиональные модели, начиная с архитектуры Kepler. Первые изначально лишены массы вычислительных функций, бесполезных в игровых задачах (таких как быстрое исполнение расчетов двойной точности). Кроме того, на пути от архитектуры Fermi (GeForce 400/500) к Kepler, а затем Maxwell разработчики последовательно сокращали управляющую логику GPU, переложив часть функций на драйвер.

Тем не менее поддержка смешанной нагрузки даже в массовых чипах NVIDIA значительно расширилась со времен Kepler. «Мелкие» чипы архитектуры Kepler (GK10X, GeForce GTX 680 и ниже, а также GeForce GTX 770) способны работать с единственной очередью команд, будь то графика или чисто вычислительная задача (ни о каком Multi-Engine речи не идет). В «большом» Кеплере (GK110/210, GeForce GTX 780/780 Ti и GeForce GTX TITAN) и чипах Maxwell первого поколения (GK107, GeForce GTX 750/750 Ti) внедрили отдельный блок для приема «вычислительных» очередей Hyper-Q, но отдельная «вычислительная» нагрузка одновременно с графикой возможна только под проприетарным API CUDA. Кроме того, «вычислительная» очередь может задействовать один и только один из 32 слотов блока CWD (CUDA Work Distributor), распределяющего цепочки операций между отдельными SM.

Динамическое распределение мощностей между графической и «вычислительной» очередями появилось только в Maxwell второго поколения (серия GeForce 900), но существует критически важное ограничение: перераспределение происходит лишь на границе draw call, а значит, драйверу нужно выделить необходимую для той или иной задачи группу SM (Streaming Multiprocessor, блок, в который организованы CUDA-ядра) заранее. Отсюда возникают ошибки планирования, которые невозможно устранить на лету, и даже при идеальном предсказании эвристики драйвера Maxwell будет пропускать мелкие «пузыри» конвейера. Кроме того, Maxwell несет тяжелые потери от смены контекста, т. к. промежуточные результаты вычислений сохраняются в (обладающей сравнительно высокой латентностью) оперативной памяти, при этом происходит полная очистка кеша L1 и разделяемой памяти GPU. В таких условиях быстродействию не настолько сильно вредит достаточно короткий простой отдельных SM, как смена контекста.

Похоже, именно эти архитектурные ограничения побудили NVIDIA заблокировать Multi-Engine в драйвере для Kepler и Maxwell. Приложение может создать сколько угодно «вычислительных» очередей, но драйвер все равно объединит их с графической очередью. По-прежнему единственная лазейка для разработчиков — это использовать CUDA, хотя на ситуацию с распределением ресурсов и смену контекста API никак не влияет.

Среди «зеленых» GPU только семейство Pascal допущено к функции Multi-Engine в Direct3D 12 и Vulkan, ибо Pascal, в отличие от Maxwell, умеет передавать ресурсы SM между очередями графики и «вычислений» динамически, не дожидаясь завершения draw call. При этом цена смены контекста осталась высокой (вплоть до 0,1 мс или 170 тыс. циклов GPU в случае GeForce GTX 1070/1080!), а значит, Pascal по-прежнему ограничен в гибкости при работе с несколькими очередями команд по сравнению с GCN.

В итоге NVIDIA довольно сильно усложнила жизнь разработчикам приложений, желающим использовать Multi-Engine. GCN неприхотлива и предсказуема в плане смешанной нагрузки, но ускорители Radeon на рынке в меньшинстве. С другой стороны, видеокарты с графическими процессорами NVIDIA стоят во множестве игровых ПК и вдобавок принадлежат к нескольким поколениям с различным уровнем поддержки Multi-Engine и методами его использования. Но, к счастью для NVIDIA, ее продукты и без того не испытывают недостатка в быстродействии. Чипы Maxwell и Pascal в сравнении с процессорами GCN соответствующего класса имеют более «узкую» архитектуру с меньшим числом шейдерных ALU, а значит — не требуют столь же высокого параллелизма для полной загрузки.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

3dnews.ru

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

Выигрыш в производительности от перехода игр с DirectX 11 на DirectX 12 или Vulkan совсем не гарантирован, а лучше сказать — гарантирован не всем. Проверим, что прогресс игрового ПО на данный момент принес видеокартам NVIDIA и AMD трех различных поколений

Интерфейсы прикладного программирования (API) долгое время оставались самым консервативным компонентом 3D-графики. Стандарт Direct3D 11 был представлен еще в 2008 году, и до сих пор основная масса новых игр на ПК использует его в качестве основного и в подавляющем большинстве случаев единственного API. Этот островок стабильности в чрезвычайно быстро развивающейся индустрии, какой являются компьютерные игры, образовался отнюдь не из-за традиционализма разработчиков ПО или производителей железа. Напротив, единый стандарт Microsoft, который вытеснил из большой игры некогда могущественного соперника (OpenGL), дал возможность всем участникам рынка сконцентрировать усилия на своих прямых задачах без необходимости оптимизировать драйверы, архитектуру GPU и игровые движки под несколько API одновременно (как в былинные времена под Glide и популярный OpenGL).

Недавние потрясения в этой сфере, связанные с названиями DirectX 12 и Vulkan, вызваны, по сути, усилиями единственной компании — AMD, которая в 2013 году выпустила собственный интерфейс программирования Mantle в сотрудничестве с DICE, автором игровой серии Battlefield. В данный момент работа над Mantle прекращена, но оба универсальных API нового поколения заимствовали идеи AMD и преследуют ту же цель — более эффективно использовать вычислительные ресурсы, которые имеются в распоряжении современных GPU.

Несмотря на столь привлекательную идею Direct3D 12 (здесь и далее мы будем говорить именно о графической библиотеке в составе DirectX) и Vulkan, темп внедрения новых API оставляет желать лучшего даже по сравнению с Direct3D 11, которому потребовался чрезвычайно долгий срок, чтобы целиком переманить разработчиков с Direct3D 9. И все же создатели значительного числа громких и высокобюджетных проектов последних двух лет внедрили поддержку Direct3D 12 или Vulkan по крайней мере в виде экспериментальной или побочной функции. В конце концов, методика тестирования GPU на 3DNews уже по большей части состоит из игр с поддержкой этих API. Подходящее время для того, чтобы провести исследование и сделать промежуточные выводы о том, насколько в действительности полезны DirectX 12 и Vulkan для производительности современного железа.

Новые функции Direct3D 12 и Vulkan

О принципах, лежащих в основе Direct3D 12, и его отличиях от предыдущей версии API Microsoft, мы писали в 2014 году, когда стандарт находился на ранней стадии разработки и многие из его особенностей еще не были финализированы. Главное, что изменилось в облике Direct3D 12 с тех пор, — это набор дополнительных функций рендеринга, открытых для графических процессоров с теми или иными аппаратными возможностями.

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

Самой привлекательной чертой Direct3D 12 и Vulkan является быстрая подготовка т. н. draw call. В то время, когда AMD стремилась популяризировать Mantle, множество людей, ранее далеких от программирования компьютерной графики, были вынуждены познакомиться с этим термином. В 3D-рендеринге так называется команда, требующая создать единственную полигональную сетку (mesh). В играх каждая модель персонажа, юнита и практически любого независимого объекта представляет собой mesh. Следовательно, чем больше таких объектов присутствует на экране, тем больше draw calls должен отдать центральный процессор. Короткая подготовка draw call в Direct3D 12 при прочих равных условиях снижает нагрузку на CPU, сокращает время бездействия графического процессора и в результате дает возможность выводить больше объектов на экран. Помогает и распределение нагрузки в многоядерной системе, которое в Direct3D 12 происходит более эффективно.

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

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

Direct3D 12 принес массу функций рендеринга, описанных в рамках feature levels 12_0 и 12_1. Но в отличие от предыдущих итераций Direct3D, 12-я версия предназначена не для того, чтобы явить миру нечто ранее невиданное (как это было с шейдерами в Direct3D 8 и тесселяцией полигонов в Direct3D 11). Действительно, некоторые возможности feature levels 12_0 и 12_1 повышают качество определенных эффектов (к примеру, связанных с прозрачными текстурами), а иные используются в перспективных алгоритмах рендеринга (см. описание VXGI в нашем обзоре GeForce GTX 980). И все же большинство пунктов feature levels 12_0 и 12_1 служит для того, чтобы графический процессор выполнял быстрее ряд уже известных задач, которые в противном случае создают большую нагрузку на пропускную способность блоков наложения текстур, шину памяти и пр.

В принципе, дополнительная вычислительная мощность, которую высвобождает новая версия API, сама по себе позволяет обогатить игровую графику более детализированными текстурами и объектами. Более того, в некоторых играх под Direct3D 12 и Vulkan геймплей тесно связан с выбором API (как в Ashes of the Singularity, которая за счет множества юнитов на экране создает огромное количество draw calls). Но если поставить вопрос в формулировке «Станет ли игра выглядеть лучше, если включить в ней Direct3D 12 или Vulkan?», то на данный момент ответ будет в подавляющем большинстве случаев отрицательным. Масштаб внедрения новых API все еще слишком мал, а железо на руках пользователей слишком разнообразно, чтобы разработчики игр открыли для видеокарт, хорошо работающих под Ditect3D 12 и Vulkan, эксклюзивный доступ к заметной части визуального контента.

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

По минимальным требованиям стандарта в категорию GPU, совместимых с feature level 12_1, проходят только архитектуры Vega, Maxwell и Pascal (а также интегрированная графика Intel, начиная с процессоров Skylake), а наиболее полной поддержкой обладает Vega и Intel HD Graphics. Но и другие архитектуры AMD или NVIDIA на том или ином уровне поддерживают ряд функций из feature level 12_0 и 12_1, в том числе одни из самых полезных: Conservative Rasterization, Volume Tiled Resources и Rasterizer Ordered Views.

При этом от графического процессора не требуется совместимость с feature level 12_0 и 12_1 для работы под Direct3D 12. В действительности GPU с возможностями на уровне feature level 11_0 и 11_1, созданные в ту пору, когда Direct3D 12 не было и в помине (архитектуры Femi и Kepler от NVIDIA и GCN первого поколения от AMD), могут воспользоваться всеми преимуществами runtime-библиотеки Direct3D 12 и, потенциально, получить выигрыш в быстродействии. У AMD и NVIDIA поддержка Direct3D 12 в драйвере начинается с серий Radeon HD 7000 и GeForce GTX 400 соответственно.

Асинхронные вычисления в Direct3D 11 и Direct3D 12

Современные GPU лишь в силу привычки называются графическими процессорами. Архитектура, состоящая из большого количества исполнительных блоков (ALU, потоковых процессоров или CUDA-ядер, в терминологии различных производителей), подходит для исполнения любых программ, легко разделяющихся на независимые друг от друга цепочки операций (GP-GPU, General Purpose GPU) — будь то промышленные задачи, майнинг криптовалюты, машинное обучение и т. д.

Методы GP-GPU применяются и в играх (по меньшей мере с того времени, когда NVIDIA купила компанию — создателя «физического ускорителя» Ageia и адаптировала ее API PhysX для работы на графических процессорах), но ни одна из коммерческих игр еще не может похвастаться тем, что раскрыла потенциал неграфических расчетов в такой степени, как «демки» PhysX, которые периодически демонстрирует NVIDIA. Причина лежит на поверхности: даже лучшие GPU не обладают избытком ресурсов для того, чтобы действительно масштабные вычисления игровой физики не уничтожили частоту смены кадров. Тем более в то время, как перед разработчиками ПО и железа открылись более заманчивые перспективы — разрешение сверхвысокой четкости и VR.

Однако актуальные и потенциальные функции вычислений общего назначения в современных играх не ограничиваются физикой. SSAO (Screen-Space Ambient Occlusion), локальные отражения в экранном пространстве (Screen-Space Reflections), генерация карт теней, различные модели глобального освещения и пр. могут быть реализованы в качестве методов GP-GPU. Нетрудно заметить, что в данном случае отсутствует принципиальная граница между задачами двух типов. Она существует лишь на уровне архитектуры приложения и API, когда графика и вычисления представляют собой отдельные очереди инструкций. Именно одновременное исполнение множественных очередей инструкций лежит в основе того, что называют (не вполне корректно, но об этом позже) асинхронными вычислениями.

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

В рамках Direct3D 11 существует единственная очередь инструкций для рендеринга графики. И как бы тщательно ни была оптимизирована архитектура GPU, в процессе рендеринга неизбежно возникают «пузыри», когда шейдерные ALU простаивают, в то время как свою работу выполняют другие компоненты процессора — блоки наложения текстур, ROP, шина памяти и т. д.

В свою очередь, Direct3D 12 и Vulkan позволяют создать две отдельные очереди — для графики и вычислений соответственно (не считая очереди для передачи данных по шине PCI Express), а задача распределения ресурсов GPU между ними ложится на сам процессор и его драйвер, которые следят за возникновением «пузырей» в той или иной очереди и эффективно их закрывают за счет инструкций из соседней очереди. В общих чертах подход аналогичен функции Hyper-Threading центральных процессоров.

Прим.: на самом деле в Direct3D 12 и Vulkan можно создавать множественные очереди всех трех типов — в зависимости от того, сколько поддерживает GPU.

Осталось пояснить, почему термин «асинхронность» не лучшим образом описывает то, что происходит в процессе рендеринга с двумя очередями инструкций, которые мы осторожно назвали отдельными, но не независимыми. Корректный (и официальный для Direct3D 12) термин — Multi-Engine. Дело в том, что те процедуры, которые исполняются в «графической» и «вычислительных» очередях Direct3D 12 или Vulkan, как правило, содержат взаимные зависимости данных: исполнение инструкций в одной очереди должно быть остановлено, пока не будет получен результат определенной инструкции из другой очереди.

В таком случае можно говорить лишь об одновременном (concurrent), но не асинхронном (независимом по времени завершения) исполнении. Примером истинной асинхронности является фоновый процесс с низким приоритетом, протекающий одновременно с рендерингом кадра, — такой, как декомпрессия ресурсов, обновление карт теней в моделях глобального освещения и пр. (см. слайд AMD выше). Таким образом, термин «асинхронные вычисления» применим к узкому кругу задач, в то время как понятие Multi-Engine описывает одновременное исполнение нескольких очередей вычислительных инструкций безотносительно к структуре зависимостей между ними.

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

Multi-Engine на GPU различной архитектуры: AMD GCN

Рассмотрим животрепещущий вопрос практической реализации Multi-Engine. Популярное мнение гласит, что а) графические процессоры AMD выигрывают от применения Multi-Engine, в то время как чипы NVIDIA (включая Pascal) не могут столь же эффективно использовать его в силу архитектурных ограничений, б) среди архитектур NVIDIA только Pascal поддерживает Multi-Engine. Как нам предстоит убедиться, оба утверждения в целом верны, но полная картина далеко не столь однозначна.

Самый простой для анализа случай — это архитектура GCN (Graphics Core Next), на которой основаны все графические процессоры AMD последних лет, начиная с Tahiti (Radeon HD 7950/7970) и заканчивая Vega 10 (Radeon RX Vega 56/64). Как достоинства, так и недостатки чипов AMD в действительности располагают к применению Multi-Engine. GCN в своей основе ориентирована на вычисления GP-GPU в не меньшей степени, чем на рендеринг графики, и устроена таким образом, что добрая часть задачи насыщения GPU параллелизмом решается на уровне «железа», а не драйвера или приложения. Даже самые ранние чипы GCN обеспечивают одновременное исполнение нескольких очередей «вычислительных» команд одновременно с очередью рендеринга графики за счет командных процессоров двух типов — GCP (Graphics Command Processor) и ACE (Advanced Compute Engine). А начиная с третьего поколения архитектуры (чипы Tonga и Fiji), GCN также включает раздельные планировщики для шейдерных и «вычислительных» инструкций. В результате процессор может динамически передавать вычислительные ресурсы отдельных CU (Compute Unit — блок, содержащий 64 ALU) между несколькими очередями инструкций.

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

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

Таким образом, управляющая логика GCN способна эффективно загружать исполнительные блоки GPU за счет инструкций из отдельных очередей, заполняя даже сравнительно небольшие «пузыри» конвейера. Итоговый прирост быстродействия зависит от того, насколько часто «пузыри» возникают в режиме одной очереди. Но ведь правда, графические процессоры AMD существенно недогружены в большинстве игр по сравнению с чипами NVIDIA, и с каждым новым поколением ситуация усугубляется. Достаточно взглянуть на Radeon RX Vega 64, которая в задачах GP-GPU по меньшей мере не уступает GeForce GTX 1080 Ti, но в играх едва справляется с GeForce GTX 1080. GCN — «широкая» архитектура, требующая высокого параллелизма для полной нагрузки. Поэтому да, возможности Multi-Engine, которые открывают современные API, могут стать большим подспорьем для AMD — с большой оговоркой о том, что разработчики игр начнут их активно использовать.

Multi-Engine на GPU различной архитектуры: NVIDIA Kepler, Maxwell и Pascal

Ситуация с поддержкой Multi-Engine в графических процессорах NVIDIA далеко не столь прозрачна, как в случае с AMD. Материалы NVIDIA, находящиеся в широком доступе, не дают ясного ответа на все вопросы. С полной уверенностью можно говорить лишь о том, каким именно из GPU архитектур Kepler, Maxwell и Pascal вообще разрешено иметь дело со смешанной нагрузкой (графика/вычисления) под управлением Direct3D 12 и Vulkan. А наше представление о том, почему это так, а не иначе, основано по большей части на сторонних источниках и не претендует на истину в последней инстанции. Что поделать, такова политика этой компании, особенно когда речь идет о недостатках их продуктов.

В отличие от AMD, NVIDIA решила разделить свои GPU на преимущественно потребительские либо профессиональные модели, начиная с архитектуры Kepler. Первые изначально лишены массы вычислительных функций, бесполезных в игровых задачах (таких как быстрое исполнение расчетов двойной точности). Кроме того, на пути от архитектуры Fermi (GeForce 400/500) к Kepler, а затем Maxwell разработчики последовательно сокращали управляющую логику GPU, переложив часть функций на драйвер.

Тем не менее поддержка смешанной нагрузки даже в массовых чипах NVIDIA значительно расширилась со времен Kepler. «Мелкие» чипы архитектуры Kepler (GK10X, GeForce GTX 680 и ниже, а также GeForce GTX 770) способны работать с единственной очередью команд, будь то графика или чисто вычислительная задача (ни о каком Multi-Engine речи не идет). В «большом» Кеплере (GK110/210, GeForce GTX 780/780 Ti и GeForce GTX TITAN) и чипах Maxwell первого поколения (GK107, GeForce GTX 750/750 Ti) внедрили отдельный блок для приема «вычислительных» очередей Hyper-Q, но отдельная «вычислительная» нагрузка одновременно с графикой возможна только под проприетарным API CUDA. Кроме того, «вычислительная» очередь может задействовать один и только один из 32 слотов блока CWD (CUDA Work Distributor), распределяющего цепочки операций между отдельными SM.

Динамическое распределение мощностей между графической и «вычислительной» очередями появилось только в Maxwell второго поколения (серия GeForce 900), но существует критически важное ограничение: перераспределение происходит лишь на границе draw call, а значит, драйверу нужно выделить необходимую для той или иной задачи группу SM (Streaming Multiprocessor, блок, в который организованы CUDA-ядра) заранее. Отсюда возникают ошибки планирования, которые невозможно устранить на лету, и даже при идеальном предсказании эвристики драйвера Maxwell будет пропускать мелкие «пузыри» конвейера. Кроме того, Maxwell несет тяжелые потери от смены контекста, т. к. промежуточные результаты вычислений сохраняются в (обладающей сравнительно высокой латентностью) оперативной памяти, при этом происходит полная очистка кеша L1 и разделяемой памяти GPU. В таких условиях быстродействию не настолько сильно вредит достаточно короткий простой отдельных SM, как смена контекста.

Похоже, именно эти архитектурные ограничения побудили NVIDIA заблокировать Multi-Engine в драйвере для Kepler и Maxwell. Приложение может создать сколько угодно «вычислительных» очередей, но драйвер все равно объединит их с графической очередью. По-прежнему единственная лазейка для разработчиков — это использовать CUDA, хотя на ситуацию с распределением ресурсов и смену контекста API никак не влияет.

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1

Среди «зеленых» GPU только семейство Pascal допущено к функции Multi-Engine в Direct3D 12 и Vulkan, ибо Pascal, в отличие от Maxwell, умеет передавать ресурсы SM между очередями графики и «вычислений» динамически, не дожидаясь завершения draw call. При этом цена смены контекста осталась высокой (вплоть до 0,1 мс или 170 тыс. циклов GPU в случае GeForce GTX 1070/1080!), а значит, Pascal по-прежнему ограничен в гибкости при работе с несколькими очередями команд по сравнению с GCN.

В итоге NVIDIA довольно сильно усложнила жизнь разработчикам приложений, желающим использовать Multi-Engine. GCN неприхотлива и предсказуема в плане смешанной нагрузки, но ускорители Radeon на рынке в меньшинстве. С другой стороны, видеокарты с графическими процессорами NVIDIA стоят во множестве игровых ПК и вдобавок принадлежат к нескольким поколениям с различным уровнем поддержки Multi-Engine и методами его использования. Но, к счастью для NVIDIA, ее продукты и без того не испытывают недостатка в быстродействии. Чипы Maxwell и Pascal в сравнении с процессорами GCN соответствующего класса имеют более «узкую» архитектуру с меньшим числом шейдерных ALU, а значит — не требуют столь же высокого параллелизма для полной загрузки.

Источник

Другие интересные статьи

Twitter впервые за 12 лет получил квартальную прибыль...

«Челси» объявит об отставке Антонио Конте в ближ...

Подробные характеристики Huawei P20 Lite из TENAA...

supergran.ru

Nvidia добавила поддержку DirectX 12 старым видеокартам

Nvidia Nvidia

Стало известно, что старые видеокарты от Nvidia, сделанные на чипе Fermi, отныне поддерживают последнюю версию DirectX 12. Это произошло втайне от пользователей благодаря последней версии видеодрайвера.

О случившемся сообщили пользователи форума Guru3d. По их словам, видеокарты семейства NVIDIA GeForce GTX 5XX и GTX 4XX отныне практически без проблем поддерживают последнюю версию DirectX 12. Это нововведение не было указано в списке изменений драйвера 384.76, который официально предназначен для оптимизации игр Lawbreakers  и Spider-man: Homecoming VR.  Тем не менее, игрокам со старыми видеокартами отныне доступны новые графические настройки, а в некоторых случаях — новые игры. Еще одним неуказанным изменением стала поддержка разрешения 4K в сервисе Netflix при работе со встроенным видеоядром на процессорах Intel Kaby Lake.

Тем не менее, игроки сообщают о некоторых проблемах в играх после установки драйвера 384.76. Так, шутер в открытом мире Watch Dogs 2 от студии Ubisoft перестал нормально работать — игра вылетает и страдает от постоянных артефактов. Опробовавшие видеодрайвер игроки рекомендуют не обновлять его в случае с этой игрой.

Многие пользователи отметили, что, несмотря на положительные изменения, подавляющее большинство видеокарт Fermi не способно должным образом справиться с современными громкими новинками на высоких настройках и активированной опцией DirectX 12.

Новости по теме:

gamebomb.ru

Совместимость видеокарты с DirectX 11

Современные программы и игры могут требовать DirectX 11 для запуска или расширения своих возможностей. Установить данный компонент получится на ОС от Windows 7, но тут есть важный нюанс: не все видеокарты его поддерживают. Если у вас не самый новый видеоадаптер, то для начала стоит выяснить его совместимость.

Определение совместимости

Для разных версий Windows могут различаться способы определения совместимости видеокарты с тем или иным Директ Икс. Но есть один универсальный вариант, который подойдет для всех операционных систем от Microsoft.

Определить, какие видеокарты поддерживают DirectX 11, очень легко на официальном сайте производителя. Достаточно узнать модель видеоадаптера, подключенного к компьютеру. Эта информация всегда написана на коробке к графическому устройству, ПК или ноутбуку. Но часто она бывает утеряна.

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

  1. Перейдите в корневой каталог системы.
  2. В свободной области нажмите ПКМ, вызовите «Свойства» из контекстного меню.Контекстное меню Проводника Windows 7
  3. Откроется окно сведений о системе. В левой части экрана находится пункт «Диспетчер устройств», кликните по нему.Вызов Диспетчера устройств в Сведениях о системеОтобразится полный список устройств, работающих в компьютере.
  4. Раскройте раздел «Видеоадаптеры». Название единственного пункта и будет требуемой информацией.Видеоадаптеры в Диспетчере устройств

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

  • Сайт Nvidia — http://www.nvidia.ru.
  • Сайт AMD — http://www.amd.com/ru/home.

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

Изложенная инструкция по определению совместимости будет актуальной для всех версий операционных систем от Microsoft с Windows XP. Но стоит понимать, что поддержка Дайрект Икс одиннадцатой версии начинается с «семерки». Соответственно, даже если ваша видеокарта совместима с этим набором графических библиотек, то их установка, например, на «Висту» не будет возможна. Для использования DirectX 11 потребуется обновление ОС.

@top-advice.ru

top-advice.ru

Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1 / Видеокарты

⇡#NVIDIA GeForce GTX 780 Ti

1920 × 1080
Полноэкранное сглаживание NVIDIA GeForce GTX 780 Ti (DirectX 11) NVIDIA GeForce GTX 780 Ti (DirectX 12) NVIDIA GeForce GTX 780 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 33 29 0
Battlefield 1 TAA 72 65 0
Deus Ex: Mankind Divided Выкл. 35 34 0
DOOM TSSAA 8TX 50 0 43
Rise of the Tomb Raider Выкл. 63 59 0
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 40 0 0
Total War: WARHAMMER II Выкл. 37 0 0
Макс. −3% −14%
Средн. −8% −57%
Мин. −12% −100%
2560 × 1440
Полноэкранное сглаживание NVIDIA GeForce GTX 780 Ti (DirectX 11) NVIDIA GeForce GTX 780 Ti (DirectX 12) NVIDIA GeForce GTX 780 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 27 24 0
Battlefield 1 TAA 52 49
Deus Ex: Mankind Divided Выкл. 24 17
DOOM TSSAA 8TX 36 10
Rise of the Tomb Raider Выкл. 43 32
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 28 0
Total War: WARHAMMER II Выкл. 26 0
Макс. −6% −72%
Средн. −18% −86%
Мин. −29% −100%
3840 × 2160
Полноэкранное сглаживание NVIDIA GeForce GTX 780 Ti (DirectX 11) NVIDIA GeForce GTX 780 Ti (DirectX 12) NVIDIA GeForce GTX 780 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 25 22 0
Battlefield 1 33 5 0
Deus Ex: Mankind Divided 9 1 0
DOOM 25 0 4
Rise of the Tomb Raider 21 17 0
Tom Clancy's The Division TAA: Stabilization 17 0 0
Total War: WARHAMMER II Выкл. 7 0 0
Макс. −12% −84%
Средн. −51% −92%
Мин. −89% −100%

⇡#NVIDIA GeForce GTX 980 Ti

1920 × 1080
Полноэкранное сглаживание NVIDIA GeForce GTX 980 Ti (DirectX 11) NVIDIA GeForce GTX 980 Ti (DirectX 12) NVIDIA GeForce GTX 980 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 51 45 41
Battlefield 1 TAA 104 82 0
Deus Ex: Mankind Divided Выкл. 56 55 0
DOOM TSSAA 8TX 135 0 165
Rise of the Tomb Raider Выкл. 93 95 0
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 51 0 0
Total War: WARHAMMER II Выкл. 52 43 0
Макс. +2% +22%
Средн. −10% +1%
Мин. −21% −20%
2560 × 1440
Полноэкранное сглаживание NVIDIA GeForce GTX 980 Ti (DirectX 11) NVIDIA GeForce GTX 980 Ti (DirectX 12) NVIDIA GeForce GTX 980 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 42 38 34
Battlefield 1 TAA 76 64
Deus Ex: Mankind Divided Выкл. 39 38
DOOM TSSAA 8TX 93 108
Rise of the Tomb Raider Выкл. 65 63
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 36 0
Total War: WARHAMMER II Выкл. 36 30
Макс. −3% +16%
Средн. −10% −1%
Мин. −17% −19%
3840 × 2160
Полноэкранное сглаживание NVIDIA GeForce GTX 980 Ti (DirectX 11) NVIDIA GeForce GTX 980 Ti (DirectX 12) NVIDIA GeForce GTX 980 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 36 36 31
Battlefield 1 46 38 0
Deus Ex: Mankind Divided 21 20 0
DOOM 48 0 58
Rise of the Tomb Raider 34 30 0
Tom Clancy's The Division TAA: Stabilization 19 0 0
Total War: WARHAMMER II Выкл. 19 16 0
Макс. +0% +21%
Средн. −10% +3%
Мин. −17% −14%

⇡#NVIDIA GeForce GTX 1050 Ti

1920 × 1080
Полноэкранное сглаживание NVIDIA GeForce GTX 1050 Ti (DirectX 11) NVIDIA GeForce GTX 1050 Ti (DirectX 12) NVIDIA GeForce GTX 1050 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 45 43 40
Battlefield 1 80 73 0
Deus Ex: Mankind Divided 46 46 0
DOOM 71 0 83
Rise of the Tomb Raider 68 67 0
Tom Clancy's The Division TAA: Stabilization 62 59 0
Total War: WARHAMMER II Выкл. 60 52 0
Макс. +0% +17%
Средн. −5% +3%
Мин. −13% −11%
2560 × 1440
Полноэкранное сглаживание NVIDIA GeForce GTX 1050 Ti (DirectX 11) NVIDIA GeForce GTX 1050 Ti (DirectX 12) NVIDIA GeForce GTX 1050 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 38 38 34
Battlefield 1 57 52 0
Deus Ex: Mankind Divided 30 30 0
DOOM 45 0 54
Rise of the Tomb Raider 45 43 0
Tom Clancy's The Division TAA: Stabilization 39 37 0
Total War: WARHAMMER II Выкл. 39 33 0
Макс. +0% +20%
Средн. −6% +5%
Мин. −15% −11%
3840 × 2160
Полноэкранное сглаживание NVIDIA GeForce GTX 1050 Ti (DirectX 11) NVIDIA GeForce GTX 1050 Ti (DirectX 12) NVIDIA GeForce GTX 1050 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 27 28 24
Battlefield 1 28 26 0
Deus Ex: Mankind Divided 15 15 0
DOOM 24 0 28
Rise of the Tomb Raider 23 22 0
Tom Clancy's The Division TAA: Stabilization 19 18 0
Total War: WARHAMMER II Выкл. 19 16 0
Макс. +4% +17%
Средн. −5% +3%
Мин. −16% −11%

⇡#NVIDIA GeForce GTX 1060

1920 × 1080
Полноэкранное сглаживание NVIDIA GeForce GTX 1060 (DirectX 11) NVIDIA GeForce GTX 1060 (DirectX 12) NVIDIA GeForce GTX 1060 (Vulkan)
Ashes of the Singularity: Escalation Выкл. 40 37 34
Battlefield 1 TAA 87 80 0
Deus Ex: Mankind Divided Выкл. 45 45 0
DOOM TSSAA 8TX 112 0 136
Rise of the Tomb Raider Выкл. 75 75 0
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 46 49 0
Total War: WARHAMMER II Выкл. 38 32 0
Макс. +7% +21%
Средн. −4% +3%
Мин. −16% −15%
2560 × 1440
Полноэкранное сглаживание NVIDIA GeForce GTX 1060 (DirectX 11) NVIDIA GeForce GTX 1060 (DirectX 12) NVIDIA GeForce GTX 1060 (Vulkan)
Ashes of the Singularity: Escalation Выкл. 33 31 28
Battlefield 1 TAA 64 59
Deus Ex: Mankind Divided Выкл. 30 30
DOOM TSSAA 8TX 73 89
Rise of the Tomb Raider Выкл. 51 50
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 32 33
Total War: WARHAMMER II Выкл. 26 23
Макс. +3% +22%
Средн. −4% +3%
Мин. −12% −15%
3840 × 2160
Полноэкранное сглаживание NVIDIA GeForce GTX 1060 (DirectX 11) NVIDIA GeForce GTX 1060 (DirectX 12) NVIDIA GeForce GTX 1060 (Vulkan)
Ashes of the Singularity: Escalation Выкл. 30 29 26
Battlefield 1 37 35 0
Deus Ex: Mankind Divided 16 16 0
DOOM 41 0 47
Rise of the Tomb Raider 26 22 0
Tom Clancy's The Division TAA: Stabilization 17 18 0
Total War: WARHAMMER II Выкл. 14 12 0
Макс. +6% +15%
Средн. −5% +1%
Мин. −15% −13%

⇡#NVIDIA GeForce GTX 1080 Ti

1920 × 1080
Полноэкранное сглаживание NVIDIA GeForce GTX 1080 Ti (DirectX 11) NVIDIA GeForce GTX 1080 Ti (DirectX 12) NVIDIA GeForce GTX 1080 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 74 76 70
Battlefield 1 TAA 151 141 0
Deus Ex: Mankind Divided Выкл. 91 91 0
DOOM TSSAA 8TX 159 0 200
Rise of the Tomb Raider Выкл. 142 158 0
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 109 113 0
Total War: WARHAMMER II Выкл. 79 80 0
Макс. +11% +26%
Средн. +2% +10%
Мин. −7% −5%
2560 × 1440
Полноэкранное сглаживание NVIDIA GeForce GTX 1080 Ti (DirectX 11) NVIDIA GeForce GTX 1080 Ti (DirectX 12) NVIDIA GeForce GTX 1080 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 64 64 59
Battlefield 1 TAA 109 102
Deus Ex: Mankind Divided Выкл. 63 63
DOOM TSSAA 8TX 155 178
Rise of the Tomb Raider Выкл. 101 104
Tom Clancy's The Division SMAA 1x Ultra + TAA: Supersampling 76 80
Total War: WARHAMMER II Выкл. 58 58
Макс. +5% +15%
Средн. +0% +4%
Мин. −6% −8%
3840 × 2160
Полноэкранное сглаживание NVIDIA GeForce GTX 1080 Ti (DirectX 11) NVIDIA GeForce GTX 1080 Ti (DirectX 12) NVIDIA GeForce GTX 1080 Ti (Vulkan)
Ashes of the Singularity: Escalation Выкл. 58 59 63
Battlefield 1 76 67 0
Deus Ex: Mankind Divided 35 35 0
DOOM 85 0 97
Rise of the Tomb Raider 56 62 0
Tom Clancy's The Division TAA: Stabilization 43 46 0
Total War: WARHAMMER II Выкл. 52 52 0
Макс. +11% +14%
Средн. +1% +11%
Мин. −12% +9%

⇡#Общие результаты

В таблицах ниже сведены данные об изменении производительности видеокарт при смене API с Direct3D 11 на Direct3D 12 или Vulkan.

Direct3D 11 / OpenGL 4.5 —> Direct3D 12 (1920 × 1080)
AMD Radeon R9 390X AMD Radeon R9 Fury X AMD Radeon RX 560 AMD Radeon RX 580 AMD Radeon RX Vega 64 NVIDIA GeForce GTX 780 Ti NVIDIA GeForce GTX 980 Ti NVIDIA GeForce GTX 1050 Ti NVIDIA GeForce GTX 1060 NVIDIA GeForce GTX 1080 Ti
Макс. 21% 23% 6% 4% 28% −3% 2% 0% 7% 11%
Средн. 8% 6% 2% 0% 2% −8% −10% −5% −4% 2%
Мин. −3% −14% −4% −9% −13% −12% −21% −13% −16% −7%
Direct3D 11 / OpenGL 4.5 —> Direct3D 12 (2560 × 1440)
AMD Radeon R9 390X AMD Radeon R9 Fury X AMD Radeon RX 560 AMD Radeon RX 580 AMD Radeon RX Vega 64 NVIDIA GeForce GTX 780 Ti NVIDIA GeForce GTX 980 Ti NVIDIA GeForce GTX 1050 Ti NVIDIA GeForce GTX 1060 NVIDIA GeForce GTX 1080 Ti
Макс. 20% 27% 4% 7% 24% −6% −3% 0% 3% 5%
Средн. 5% 2% 1% 0% 3% −18% −10% −6% −4% 0%
Мин. −6% −26% −3% −9% −10% −29% −17% −15% −12% −6%
Direct3D 11 / OpenGL 4.5 —> Direct3D 12 (3840 × 2160)
AMD Radeon R9 390X AMD Radeon R9 Fury X AMD Radeon RX 560 AMD Radeon RX 580 AMD Radeon RX Vega 64 NVIDIA GeForce GTX 780 Ti NVIDIA GeForce GTX 980 Ti NVIDIA GeForce GTX 1050 Ti NVIDIA GeForce GTX 1060 NVIDIA GeForce GTX 1080 Ti
Макс. 24% 30% 10% 7% 30% −12% 0% 4% 6% 11%
Средн. 4% −20% −0% 1% 2% −51% −10% −5% −5% 1%
Мин. −10% −93% −11% −5% −9% −89% −17% −16% −15% −12%
Direct3D 11 / OpenGL 4.5 —> Vulkan (1920 × 1080)
AMD Radeon R9 390X AMD Radeon R9 Fury X AMD Radeon RX 560 AMD Radeon RX 580 AMD Radeon RX Vega 64 NVIDIA GeForce GTX 780 Ti NVIDIA GeForce GTX 980 Ti NVIDIA GeForce GTX 1050 Ti NVIDIA GeForce GTX 1060 NVIDIA GeForce GTX 1080 Ti
Макс. 55% 83% 58% 62% 82% −14% 22% 17% 21% 26%
Средн. 33% 49% 29% 31% 56% −57% 1% 3% 3% 10%
Мин. 12% 15% 0% 0% 30% −100% −20% −11% −15% −5%
Direct3D 11 / OpenGL 4.5 —> Vulkan (2560 × 1440)
AMD Radeon R9 390X AMD Radeon R9 Fury X AMD Radeon RX 560 AMD Radeon RX 580 AMD Radeon RX Vega 64 NVIDIA GeForce GTX 780 Ti NVIDIA GeForce GTX 980 Ti NVIDIA GeForce GTX 1050 Ti NVIDIA GeForce GTX 1060 NVIDIA GeForce GTX 1080 Ti
Макс. 48% 64% 50% 56% 60% −72% 16% 20% 22% 15%
Средн. 29% 41% 25% 30% 41% −86% −1% 5% 3% 4%
Мин. 11% 18% 0% 3% 22% −100% −19% −11% −15% −8%
Direct3D 11 / OpenGL 4.5 —> Vulkan (3840 × 2160)
AMD Radeon R9 390X AMD Radeon R9 Fury X AMD Radeon RX 560 AMD Radeon RX 580 AMD Radeon RX Vega 64 NVIDIA GeForce GTX 780 Ti NVIDIA GeForce GTX 980 Ti NVIDIA GeForce GTX 1050 Ti NVIDIA GeForce GTX 1060 NVIDIA GeForce GTX 1080 Ti
Макс. 44% 53% 40% 45% 33% −84% 21% 17% 15% 14%
Средн. 31% 35% 20% 24% 32% −92% 3% 3% 1% 11%
Мин. 17% 17% 0% 4% 30% −100% −14% −11% −13% 9%

⇡#Выводы

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

И все-таки даже по имеющимся данным можно выделить, с одной стороны, несколько видеокарт, которые подают воодушевляющий пример в новых интерфейсах программирования, а с другой стороны — те GPU, которым Direct3D 12 и Vulkan не приносит никакой пользы или и вовсе вредит.

Начнем с «неудачников». Для GeForce GTX 780 Ti тесты в API нового поколения обернулись полной катастрофой. Мало того, что некоторые игры официально не поддерживают Direct3D 12 на архитектуре Kepler или просто не запускаются, нет ни единой игры, в которой эта видеокарта не теряет производительность (при высоких разрешениях — вплоть до уровня слайд-шоу). Отчасти виновато эксплицитное управление памятью в Direct3D 12: программисты поленились оптимизировать движок под видеокарты с 3 Гбайт RAM. Но и GeForce GTX 980 Ti, несмотря на 6 Гбайт памяти, выступил не сильно лучше. В большинстве тестов быстродействие флагманского Maxwell снижается в Direct3D 12 и Vulkan (особенно велики потери в Battlefield 1). Прирост, и весьма существенный, есть только в DOOM.

Ускорители Pascal бюджетного и среднего уровня (GeForce GTX 1050 Ti и GTX 1060) также выигрывают от API нового поколения в DOOM. Результаты остальных тестов по большей части умеренно отрицательные. На этом фоне достижение GeForce GTX 1080 Ti уже в том, что он перестал терять быстродействие в ряде тестов под Direct3D 12 и Vulkan, а кое-где приобрел дополнительные FPS.

Положение видеокарт AMD, как и предсказано теорией, в целом благоприятно. Главные выгодополучатели новых API — большие чипы Hawaii (Radeon R9 390X), Fiji (Radeon R9 Fury X) и Vega (Radeon RX Vega 64), а лучшие игры для них — Ashes of the Singularity и, конечно же, DOOM. Остальные тесты обернулись незначительным ростом или падением FPS. Кроме того, Radeon R9 Fury X страдает в высоких разрешениях (см. эксплицитное управление памятью) и при любых режимах — в Battlefield 1. Несколько обескураживают результаты чипов Polaris (Radeon RX 560 и RX 580), ведь к ним в новых API благосклонен только DOOM. Direct3D 12 в Battlefield 1 однозначно вредит, а в остальных тестах «состояние пациента стабильно».

Какие общие выводы можно сделать из такой сложной картины? Во-первых, придется забыть о комбинации Direct3D 12 и чипов NVIDIA поколений Kepler и Maxwell (и тем более Fermi), а также видеокарт с небольшим объемом памяти. Никто больше не будет оптимизировать ПО под такое железо. Что касается процессоров Pascal, то им Direct3D 12 и Vulkan в целом не помогают, зато и не вредят (что и требовалось доказать). Наилучшие перспективы — у больших GPU AMD с подходящим объемом видеоОЗУ. Однако рано подводить черту: впереди еще одно тестирование на платформе со слабым CPU.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

3dnews.ru


Смотрите также