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

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

12.06.2015, 21:20. Показов 10547. Ответов 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,219
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
15140 / 10830 / 914
Регистрация: 08.01.2013
Сообщений: 38,654
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
15140 / 10830 / 914
Регистрация: 08.01.2013
Сообщений: 38,654
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
15140 / 10830 / 914
Регистрация: 08.01.2013
Сообщений: 38,654
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru