Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21

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

12.06.2015, 21:20. Показов 11089. Ответов 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
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
04.08.2015, 22:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от _lunar_ Посмотреть сообщение
ясно, но запустить исполняться d3d12.dll на 7 или 8 не реально сложно, даже задумываюсь о возможно ли?
А может тогда попробовать цикл с постусловием использовать? Или на каждую ос свою версию программы? Возможно эти варианты?

Добавлено через 3 минуты
Цитата Сообщение от K2K Посмотреть сообщение
Дату установки видишь?
Ну тогда ошибка в программе?

Добавлено через 1 минуту
Цитата Сообщение от Dreamlike Посмотреть сообщение
запустить исполняться d3d12.dll на 7 или 8
Невозможно же, ясень пень, эти библиотеки то на Win10 только есть.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 01:08  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
Невозможно же, ясень пень, эти библиотеки то на Win10 только есть.
я не о том. Загрузчик 7 и 8 не даёт не то, что исполнить её, а даже загрузить в память и развернуть её.
поищу в недокументированных функциях Zw, Nt и Rtl. Дальше спускаться к ring0 бессмысленно.
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,221
05.08.2015, 08:03
На вин 7 прога запустилась и вроде даже верно показала что директ 10 у меня только (
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 21:54  [ТС]
Сделал всё что смог. Программа работает на всех ОС - 7, 8, 8.1 и 10. Сделал проверку на поддержку API DirectX. Но есть одно НО! Если программа определит, что ваша видеокарта поддерживает аппаратный уровень D3D_FEATURE_LEVEL_11_1 и что ваша ОС 7 или 8, то результатом определения аппаратных уровней D3D_FEATURE_LEVEL_12_0 и D3D_FEATURE_LEVEL_12_1 будет является сообщение о том, что необходима Windows 10 (4 скриншот). К сожалению другого варианта я найти не смог. И соответственно на Windows 10 программа чётко определит каждый параметр.
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)   Выбор видеокарты нового поколения (DirectX 12)   Выбор видеокарты нового поколения (DirectX 12)  

Выбор видеокарты нового поколения (DirectX 12)  
Вложения
Тип файла: 7z FeatureLevelChecker.7z (5.0 Кб, 66 просмотров)
3
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 22:40
Цитата Сообщение от _lunar_ Посмотреть сообщение
Сделал всё что смог. Программа работает на всех ОС - 7, 8, 8.1 и 10. Сделал проверку на поддержку API DirectX. Но есть одно НО! Если программа определит, что ваша видеокарта поддерживает аппаратный уровень D3D_FEATURE_LEVEL_11_1 и что ваша ОС 7 или 8, то результатом определения аппаратных уровней D3D_FEATURE_LEVEL_12_0 и D3D_FEATURE_LEVEL_12_1 будет является сообщение о том, что необходима Windows 10 (4 скриншот). К сожалению другого варианта я найти не смог. И соответственно на Windows 10 программа чётко определит каждый параметр.
Молодчик, но какое отношение имеет API D3D_FEATURE_LEVEL_11_1 к D3D_FEATURE_LEVEL_12_0 и D3D_FEATURE_LEVEL_12_1? А почему на Vista тогда уж не сделали тоже? И еще почему два раза показывает информацию о поддержке API?
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)  
1
дивананалитикаиксперд
 Аватар для K2K
15980 / 10985 / 914
Регистрация: 08.01.2013
Сообщений: 39,465
05.08.2015, 22:41
У меня без изменений В винде чтоль косяк.

0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 22:46
А все понял, чтобы программа не продолжала проводить проверку на истинность и запрашивала исполнение функций DX12, верно?

Добавлено через 2 минуты
K2K, винда убеждает тебя, что у тебя видеокарта устарела и нужно бежать бегом покупать новую 980Ti. А драйвера последние стоят?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 22:50  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
А почему на Vista тогда уж не сделали тоже?
ну может и на висте работает, ктож его знает ))

Цитата Сообщение от Dreamlike Посмотреть сообщение
почему два раза показывает информацию о поддержке API?
в смысле?

Цитата Сообщение от Dreamlike Посмотреть сообщение
какое отношение имеет API D3D_FEATURE_LEVEL_11_1 к D3D_FEATURE_LEVEL_12_0 и D3D_FEATURE_LEVEL_12_1?
всё просто - если не поддерживается 11_1, а только 11_0, то никакой поддержки 12_0 и тем более 12_1 не будет.
проверить 12_0 и 12_1 на 7 и 8 не возможно, поэтому пришлось ограничиться таким вот решением.

Цитата Сообщение от K2K Посмотреть сообщение
У меня без изменений
хм, даже не знаю. Неплохо бы если кто-то ещё на GTX970 проверит.
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 22:59
Цитата Сообщение от _lunar_ Посмотреть сообщение
ну может и на висте работает, ктож его знает ))
Пусть кто-нибудь затестит.
Цитата Сообщение от _lunar_ Посмотреть сообщение
в смысле?
Дублируешь, аналогично и с остальными так.
Цитата Сообщение от _lunar_ Посмотреть сообщение
всё просто - если не поддерживается 11_1, а только 11_0, то никакой поддержки 12_0 и тем более 12_1 не будет.
проверить 12_0 и 12_1 на 7 и 8 не возможно, поэтому пришлось ограничиться таким вот решением.
Логично.
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)  
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 23:07  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
Дублируешь, аналогично и с остальными так.
нет, это не дублирование. API и FeauteLevel это совершенно разные вещи. Обычно их и путают, сопоставляя цифры друг с другом.
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 23:10
Логично было бы опустить 10.1 или тогда уже дописать 11.1, 11.2 и т.д. Но это так чисто мелкие придирки, чтобы было кратко и красиво все. А потом можно в релиз пустить программу.

Добавлено через 1 минуту
Цитата Сообщение от _lunar_ Посмотреть сообщение
нет, это не дублирование. API и FeauteLevel это совершенно разные вещи. Обычно их и путают, сопоставляя цифры друг с другом.
Я не про это, я про другое. Извини, не совсем ясно выразился.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 23:16  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
дописать 11.1, 11.2
чтобы проверить на DirectX 11.1 и DirectX 11.2 нужно делать переопределение. Функций D3D11CreateDevice1 и D3D11CreateDevice2 не существует.
это гемор и я не стал себя этим утруждать, т.к. эти API по большей части используются лишь в Windows Store.
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 23:20
Цитата Сообщение от _lunar_ Посмотреть сообщение
чтобы проверить на DirectX 11.1 и DirectX 11.2 нужно делать переопределение. Функций D3D11CreateDevice1 и D3D11CreateDevice2 не существует.
Т.е. это надувательство от mc, что такие DX есть. В смысле делать переопределение? Через функции DX11 что ль?
0
дивананалитикаиксперд
 Аватар для K2K
15980 / 10985 / 914
Регистрация: 08.01.2013
Сообщений: 39,465
05.08.2015, 23:21

Не по теме:

Цитата Сообщение от Dreamlike Посмотреть сообщение
винда убеждает тебя, что у тебя видеокарта устарела и нужно бежать бегом покупать новую 980Ti.
Да, но тишка не мой размерчик, да и горячевата, а значит шумновата. У меня 780 насколько возможно была придушена по шуму, но когда сменил на 970, то понял, что 780 была придушена недостаточно :D А тишка прилично горячее.

Цитата Сообщение от Dreamlike Посмотреть сообщение
А драйвера последние стоят?
Ес-но.
Цитата Сообщение от _lunar_ Посмотреть сообщение
Неплохо бы если кто-то ещё на GTX970 проверит.
Возможно, найду кого с 7 и 970. Большинство модные, на 8.1-10ке.
0
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 23:29
Цитата Сообщение от _lunar_ Посмотреть сообщение
это гемор и я не стал себя этим утруждать, т.к. эти API по большей части используются лишь в Windows Store.
В смысле?
Цитата Сообщение от K2K Посмотреть сообщение
Возможно, найду кого с 7 и 970. Большинство модные, на 8.1-10ке.
На оверах попробуй спросить, там народ вроде еще на 7 винде сидит еще.

Не по теме:

Цитата Сообщение от K2K Посмотреть сообщение
Да, но тишка не мой размерчик, да и горячевата, а значит шумновата. У меня 780 насколько возможно была придушена по шуму, но сменил на 970, то понял, что 780 была придушена недостаточно А тишка прилично горячее.
У тебя же была 780Ti уже, а 980Ti холоднее должна быть. Но я понял тебя, курс рубля не позволил взять топ. Я тоже не готов 40к за топ выкладывать. Психологический барьер 30к. Да и с финансами сейчас туговато. :D

0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 23:30  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
Через функции DX11 что ль?
да, с умными указателями, что-то вроде
C++
1
2
3
4
5
6
7
8
9
10
11
12
IntPtr<ID3D11Device> device_11_0 = nullptr;
IntPtr<ID3D11Device1> device_11_1 = nullptr;
 
D3D11CreateDevice(...);
 
device11_1.As(&device11_0); // или через QueryInterface
 
// а потом куча функций с DXGI и...
 
CreateSwapChainForHwnd();
CreateSwapChainForCoreWindow();
CreateSwapChainForComposition();
пара новых скринов))
Миниатюры
Выбор видеокарты нового поколения (DirectX 12)   Выбор видеокарты нового поколения (DirectX 12)  
1
дивананалитикаиксперд
 Аватар для K2K
15980 / 10985 / 914
Регистрация: 08.01.2013
Сообщений: 39,465
05.08.2015, 23:38

Не по теме:

Цитата Сообщение от Dreamlike Посмотреть сообщение
На оверах попробуй спросить
Спасибо за совет, а то я всю голову сломал, а где же спросить-то :D
Цитата Сообщение от Dreamlike Посмотреть сообщение
У тебя же была 780Ti уже, а 980Ti холоднее должна быть.
Хрена лысого она холоднее и у меня была 780 не ти.
Цитата Сообщение от Dreamlike Посмотреть сообщение
Но я понял тебя, курс рубля не позволил взять топ.
Курс не причем. Я и не собирался брать топ, говорю же не мой размерчик.



1
 Аватар для Dreamlike
501 / 110 / 6
Регистрация: 27.03.2012
Сообщений: 1,147
05.08.2015, 23:45
Цитата Сообщение от _lunar_ Посмотреть сообщение
да, с умными указателями, что-то вроде
Мда, фигово.
Цитата Сообщение от _lunar_ Посмотреть сообщение
пара новых скринов))
А почему на первом скрине не прописалась версия видеокарты? Или это так и должно быть?

Не по теме:

Цитата Сообщение от K2K Посмотреть сообщение
Спасибо за совет, а то я всю голову сломал, а где же спросить-то
Ну с тобой я пока на оверах еще не пересекался. :D
Цитата Сообщение от K2K Посмотреть сообщение
Хрена лысого она холоднее и у меня была 780 не ти.
Так максвелл же холоднее кеплера? Или только энергоэффективнее? =-O
Цитата Сообщение от K2K Посмотреть сообщение
Курс не причем. Я и не собирался брать топ, говорю же не мой размерчик.
980 взял бы тогда. 980Ti не взял из-за того горячее только? Или ты имел ввиду буквально, что нужно компактная карта? :D

0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
05.08.2015, 23:51  [ТС]
Цитата Сообщение от Dreamlike Посмотреть сообщение
А почему на первом скрине не прописалась версия видеокарты?
особенность драйвера от AMD - для некоторых карт введено понятие Серия, и по конкретным моделям информацию разработчики не заносят в inf-файл.
0
05.08.2015, 23:58

Не по теме:

Цитата Сообщение от Dreamlike Посмотреть сообщение
Так максвелл же холоднее кеплера? Или только энергоэффективнее?
Холоднее, но 780ти и 980ти сами по себе не холодные и разницы там фигня. Вот 970 получились холоднее 670/760.
Цитата Сообщение от Dreamlike Посмотреть сообщение
980 взял бы тогда.
Нахрена? Мне на предтопах хорошо, имхо, оптимальный вариант для игр по цена-fps. Тишка дорого, горячо и шумно. Все не это мое. Я не энтузазист-миллионер, чтоб вваливать большие бабки в комп.
Точно осяду на 970 до предтопа паскаля, который нагнет титан икс и будет стоит как 970, а мож и дешевле. Правда, если ничего страшного не случиться :D
Цитата Сообщение от Dreamlike Посмотреть сообщение
Ну с тобой я пока на оверах еще не пересекался.
А нефиг сто ников заводить.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2015, 23:58

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru