Форум программистов, компьютерный форум, киберфорум
Видеокарты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/50: Рейтинг темы: голосов - 50, средняя оценка - 4.54
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21

Выбор видеокарты нового поколения (DirectX 12)

12.06.2015, 21:20. Показов 10517. Ответов 66
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В преддверии выхода "бесплатной" Windows 10 и сопутствующего ей нового низкоуровневого API DirectX 12 у многих возникает вопрос - поддерживает ли моя видеокарта? Если нет, то на какую её поменять?
В данном топике я постараюсь подробно разъяснить на какие видеокарты стоит обратить своё внимание при покупке/замене.

Начну немного с корня проблемы - самого DirectX 12. Как и предыдущая версия, 12 имеет в своём арсенале четыре уровня аппаратной поддержки:
D3D_FEATURE_LEVEL_11_0
D3D_FEATURE_LEVEL_11_1
D3D_FEATURE_LEVEL_12_0
D3D_FEATURE_LEVEL_12_1
т.е. если ваша видеокарта поддерживает DirectX 11 (D3D_FEATURE_LEVEL_11_0 и D3D_FEATURE_LEVEL_11_1), то она будет в какой-то мере обеспечит поддержку и DirectX 12 (какие это будут ограничения пока сложно сказать).
Проблема таких видеокарт кроется вот в чём: если разработчик игры захочет передать в функцию D3D12CreateDevice D3D_FEATURE_LEVEL_12_0 и выше
C++
1
2
ID3D12Device *device = nullptr;
D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_12_0, IID_PPV_ARGS(&device));
то эта игра у вас не запуститься.

И соответственно при передаче в D3D12CreateDevice уровня D3D_FEATURE_LEVEL_11_1 и ниже
C++
1
2
ID3D12Device *device = nullptr;
D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_11_1, IID_PPV_ARGS(&device));
игра спокойно запустится.

AMD и NVIDIA к новому API подошли немного по разному - первые в своей обновленной архитектуре GCN 1.1 и GCN 1.2 обеспечили поддержку уровня D3D_FEATURE_LEVEL_12_0, NVIDIA в своём обновленном Maxwell 2.0 добились максимального результата, обеспечив поддержку уровня D3D_FEATURE_LEVEL_12_1

В прикрепленных два скриншота, с подробной информацией о видеокартах обоих производителей.
Немного объясню что и как:
1. AMD - при покупке/замене стоит обратить свое внимание именно на GCN 1.1 и GCN 1.2, т.к. только видеокарты на этой архитектуре смогут в полной мере обеспечить поддержку DirectX 12 и уровня D3D_FEATURE_LEVEL_12_0. Это видеокарты HD7790, R7 260X, R9 285, R9 290, R9 290X, R9 295X2, R7 360, R9 380, R9 390, R9 390X и новые Fury.
2. NVIDIA - тут выбор не так велик (учитывая ещё и ценник на эти карты), полная поддержка DirectX 12 и уровня D3D_FEATURE_LEVEL_12_1 обеспечивается только GTX960, GTX970, GTX980, GTX980Ti и GTX Titan X.

Не по теме:

За AMD плюсом ещё и поддержка таких API как Mantle и грядущего низкоуровневого Vulkan.
Есть информация о видеокарте R9 380Х, которая будет естественно на GCN 1.2 (чип Tonga XT) с 384 битной шиной и 6ГБ памяти GDDR5. Лично её я и буду ждать, т.к. данная карта имеет кучу плюсов по отношению к конкурентам 8-)

Миниатюры
Выбор видеокарты нового поколения (DirectX 12)   Выбор видеокарты нового поколения (DirectX 12)  
7
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2015, 21:20
Ответы с готовыми решениями:

Выбор видеокарты для не нового ПК
Мальчишке в компьютер нужно выбрать видеокарту, для игр типа Counter-Strike Global Ofensive (сам не играю, не разбираюсь, насколько я его...

Пк нового поколения
Такую тему создавал на несколько разных форумах .Удаляли, типо спам . Лично я так не считаю и если модератору ,что то не ...

ЖК дисплеи нового поколения
Всем доброго времени суток! Этот вопрос, возможно, пишется не в том месте, но относится он к микроэлектронике, а темы под это дело я не...

66
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
16.06.2015, 00:25
10 и 9_3 уже не поддерживается ?

Добавлено через 7 минут
Игры с DX12 пока никому не нужны. Цены на видео кусаются.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
16.06.2015, 08:25  [ТС]
Цитата Сообщение от Kabak Посмотреть сообщение
10 и 9_3 уже не поддерживается ?
эти уровни не поддерживаются аппаратно на новом API (скорее всего есть разные ограничения по ядру и коду в целом).

Цитата Сообщение от Kabak Посмотреть сообщение
Игры с DX12 пока никому не нужны.
их просто пока ещё нет
возможно первой игрой, использующей DirectX 12 станет Deus Ex: Mankind Divided
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
16.06.2015, 09:41
Бред какой-то с 10 и 9_3 .

Вы хотите сказать, что все игры D3D, включая 2015 год выпуска больше не будут работать после установки Windows 10 ?
Нафига она такая кому-то нужна ?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
16.06.2015, 13:29  [ТС]
Не путайте DirectX 12 с поддерживаемыми API самой ОС.
Использовать 9 и 10 уровни в программировании dx12 нельзя, но win10 поддерживает и 9 и 10 и 11 и 12 версии DirectX.
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
16.06.2015, 16:16
А как тогда реализован DirectWrite ? Выкинули его ?

Аппаратная поддержка старых Future_level будет ?

Я так понимаю, что и программы можно будет писать с их использованием. Иначе никому не нужен такой "скачок" за наши деньги.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
16.06.2015, 21:59  [ТС]
Цитата Сообщение от Kabak Посмотреть сообщение
Аппаратная поддержка старых Future_level будет ?
вполне же очевидно, что используя d3d11.h вы будете инициализировать устройство ID3D11Device через функцию D3D11CreateDevice, в которую одним из аргументов передадите уровень D3D_FEATURE_LEVEL_11_0

я ещё раз напишу: использовать старые уровни 9 и 10 при программировании dx12 нельзя, используйте их при программировании dx11.
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
16.06.2015, 23:18
ясно. попробуем как выйдет.

а как будет с этим ?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
03.08.2015, 21:12  [ТС]
выдалось немного свободного времени, написал программку для проверки на поддержку D3D_FEATURE_LEVEL
всё очень просто - в заголовке окна выводится названии видеокарты, в самом окне список поддерживаемых и не поддерживаемых D3D_FEATURE_LEVEL
на скриншотах результаты тестирования трёх видеокарт
AMD Radeon HD3200 (ноутбук) на Windows 7 Ultimate SP1 x32
NVIDIA GeForce GTX 660 (компьютер брата) на Windows 8.1 Pro x64
NVIDIA GeForce GTX 960 (мой компьютер) на Windows 10 Pro x64

сама программка там же в прикреплённых. Прошу попробовать и отписаться о результатах.
Изображения
   
Вложения
Тип файла: 7z FeatureLevelChecker.7z (5.0 Кб, 24 просмотров)
2
 Аватар для zewer
2356 / 1774 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
03.08.2015, 21:34
HiS Radeon 6930 1 Gb (850/1350)
Изображения
 
1
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
03.08.2015, 21:53
На Win10 не работает...
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)  
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
03.08.2015, 21:57  [ТС]
Dreamlike, сорри))
забыл указать, что нужно установить пакет vc++ 2015 https://go.microsoft.com/fwlink/?LinkId=615459

хотелось бы посмотреть результаты R9 285, R9 380, R9 290(X), R9 390(X) на Windows 10, т.к. только на этой ОС я сделал загрузку d3d12.dll по условию IsWindows10OrGreated
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
03.08.2015, 22:05
_lunar_, уже пакет vc++ 2015 требуется, походу я начинаю отставать от прогресса. А вот и результат.
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)  
1
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
03.08.2015, 22:08
Только вот поддержка D3D_FEATURE_LEVEL_12_1 в AMD видеокартах не было заявлено, откуда тогда поддержка?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
03.08.2015, 22:11  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
А вот и результат
Спасибо.
Либо я где-то допустил ошибку (насколько я знаю у AMD нет поддержки D3D_FEATURE_LEVEL_12_1), либо она реально появилась.
Какой у вас драйвер сейчас? 15.7.1? И можно увидеть скриншот dxdiag (Win+R и вставить dxdiag)
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
03.08.2015, 22:16
_lunar_, драйвер 15.7.1 установлен.
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)  
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
03.08.2015, 22:26  [ТС]
вкладочку Экран можно ещё?

кажется нашёл ошибку - при создании второго экземпляра устройства ID3D12Device для проверки 12_1, первое устройство, которым проверяется 12_0 не очищается и в результате значение первого применяется к значению второго. Сейчас поправлю, выложу тестовую сборку только для Windows 10.
Вложения
Тип файла: 7z test.7z (4.7 Кб, 13 просмотров)
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
03.08.2015, 22:32
Вот теперь другой результат.
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)  
Изображения
 
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
03.08.2015, 22:36  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
Вот теперь другой результат
отлично) значит ошибку правильно нашёл.
интересно то, что майкрософтовская утилита dxdiag не показывает уровень 12.0, но на самом деле он есть иначе, устройство бы не создалось и HRESULT вкрнул бы значение меньше нуля.

в общем допилю до ума, чтобы на всех ОСях работала и выложу здесь
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
03.08.2015, 22:40
_lunar_, а исходники программы можете выложить сюда? А то я не знаю, как с eclipse среды прочитать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.08.2015, 22:40
Помогаю со студенческими работами здесь

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

Флеш казино нового поколения!
Продам интернет флеш казино подобное Lasvegos(.)ru. Цена: 51$(если BL>=30), либо 61$ (если BL<30) - 51 встроенная игра. - Все...

Mozilla готовит браузер нового поколения
Aurora разрабатывается совместно с дизайнерской студией AdaptivePath. Любой пользователь, который хочет внести свой вклад в работу над...

GBPay — платёжная система нового поколения
Приветствую всех, уважаемые форумчане! Совсем недавно вышла платёжная система нового поколения, которая поддерживает не только...

Дешифратор для filecoder.ed нового поколения
Здравствуйте! Бухгалтер поймал шифратор на компьютере пройдя по ссылке в письме "Письмо от DHL №563634562484.eml". ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru