Оновлення версії графічних карт DirectX?


5

Під час покупки чи перегляду специфікацій для відеокарти ви побачите версію DirectX, яку вона підтримує (у моєму конкретному випадку карта підтримує 10). Що я хочу знати, що коли Microsoft випустила свою нову версію 11, що б заважало цій картці працювати за стандартами DX11?

Я б сказав, що мова йде про прошивку на власне самої відеокарти, чи не може це прошиватись, щоб підтримувати останню версію? Чи підтримка цієї картки DX10 і запуск DX11 просто чудова, це лише той факт, що Nvidia не змогла позначити її як таку, оскільки DX11 ще не вийшов?

Будь-хто, хто має хороше розуміння цього, дайте мені знати!

Редагувати: добре, якщо ви скасуєте цей потік або проголосуєте за його закриття ... чи поясніть, будь ласка, чому ви вважаєте, що це "дурне питання". Мені дуже серйозно цікаво, як і в чому різниця між версіями DX, які потребують повної зміни обладнання. Набори інструкцій для графічних процесорів однакові, єдина різниця в апаратному забезпеченні полягає в тому, що новіші мають швидший VRAM, більше процесорів потоку і т. Д. То чому б не вдалося оновити карту DX10 для підтримки DX11 ?? Дайте мені причину.


1
О, якби це було лише так. . .
surfasb

З концептуальної точки зору, що б хто-небудь, хто вважає, що цей потік припускає, знадобився для апаратних модифікацій для переходу від DX10 до DX11? У всіх процесорах GPU та потоку були однакові або дуже схожі набори інструкцій. А найдорожчі відеокарти в ці дні мають достатню потужність коня, яка б принаймні виступала як відеокарта середнього класу, якщо її оновлять до наступного кроку версій DX
CenterOrbit

Зауважимо також, що історично ігри знаходяться за кривою, коли мова йде про версії DX. Коли версія DX нова (навіть до року після цього), більшість програмного забезпечення там не повністю підтримує / впроваджує нові стандарти. Покуповуючи, це щось, що слід враховувати, оскільки часто платять премію за карти, які підтримують новий стандарт. Ви також повинні дивитись на ефективність цих карток, оскільки деякі картки DX n будуть кричущішими, ніж картки dx n-1
horatio

Відповіді:


6

Причина, через яку картки DirectX 10 не можуть бути оновлені до DirectX 11, швидше за все, пов’язана з DirectX 11, що вимагає конкретних функцій, таких як певний рівень точності в математичних операціях. обладнання, яке не було розроблено для роботи з ним.

Це буде те саме, що певний процесор не підтримує нові функції, введені новішим процесором, впевнений, що нові функції можуть бути імітованими (і можуть працювати не набагато повільніше, ніж вбудована реалізація), але сам процесор все ще не підтримуватиме потрібне особливості. Подібною ідеєю може бути можливість емуляції інструкцій SSE на не-SSE-процесорі, впевнений, що ви могли це зробити, але це багато маніпуляцій і буде набагато повільніше, ніж повне впровадження обладнання.

Можливо, за допомогою спеціального програмного забезпечення ви отримаєте карту DirectX 10, яка виглядатиме так само добре, як і карту DirectX 11, і зробити майже все аналогічно, але всі вроджені функції або додаткова точність, що мандатів DirectX 11 не вистачало б і взагалі Я думаю, що програмне забезпечення / емуляційний шар буде дещо повільніше, ніж повний апаратний підхід.


Однак картка не буде робити емуляцію DX11. Будь-яка емуляція повинна бути програмуванням загального призначення, що означає програмне забезпечення, а значить, воно буде працювати на процесорі, а не на графічному процесорі. Ось чому це буде повільніше - адже процесор є загальним призначенням і тому його слід оптимізувати для виконання коду загального призначення. Функції GPU оптимізовані для роботи з графікою. Якщо робота з графікою не може працювати на особливо оптимізованому для неї апаратному забезпеченні, вона буде працювати повільніше на процесорі загального призначення.
Бен Річардс

@Mokubai Дякую! тепер це тип відповідей, який я шукав. Ваш аргумент просвічує світло на аспекти, які я раніше не розглядав.
CenterOrbit

3

Після (і включаючи) DirectX 10 Microsoft вирішила просто забруднити всю річ "біт сумісності" і просто встановила на картці мінімальний рівень DirectX. Якщо ваша картка сумісна з DX11, вона підтримує всі функції DX11 . Це полегшує розробників (вам не потрібно перевіряти наявність функції перед тим, як користуватися нею), і забезпечує більш послідовний досвід роботи.

З концептуальної точки зору, що б хто-небудь, хто вважає, що цей потік припускає, знадобився для апаратних модифікацій для переходу від DX10 до DX11? У всіх процесорах GPU та потоку були однакові або дуже схожі набори інструкцій.

Власне, це не так. Ще раз зверніть увагу на те, що я говорив вище - для того, щоб карта була апаратною сумісністю DX11, вона повинна підтримувати всі функції DX11 . У минулому зміни між версіями DirectX були змінені аспекти самого GPU апаратного забезпечення, включаючи конвеєрну архітектуру, модель шейдеров (і підтримуваних мов / шейдери), точності з плаваючою комою, і набору команд розширення.

Хоча не всі вони були змінені від переходу DX10 до DX11, є додаткові функції, які були реалізовані як на апаратному, так і на програмному рівні (більшість цих змін є закритим кодом, тому я не можу коментувати конкретні зміни).

Зважаючи на це, ви можете запустити програмне забезпечення DirectX 11 за допомогою апаратного забезпечення DirectX 9/10, хоча і без доповнень до DirectX 11 (а саме: tessellation, багатопотокове візуалізація та обчислення шейдерів), і припускаючи, що розробник правильно реалізував додаток. Я не бачу, що це колись є проблемою, оскільки це практично не коштує нічого для реалізації - саме тому я раніше згадував про "біти сумісності".

Якщо ви хочете додати нові функції на останньому та найбільшому рівні DX, ви запитаєте апаратне забезпечення, чи підтримує він останній рівень DX. Якщо так, увімкніть їх, інакше поверніться до наступного рівня DX (на відміну від перевірки наявності певних функцій обладнання). Ось чому програми, складені за допомогою бібліотек Direct3D 11, зможуть запускатися на сумісному апаратному забезпеченні Direct3D 9/10.


1

"Оновлення прошивки" - це не вирішення кожної проблеми. Вимоги DirectX до кожної версії включатимуть як апаратні, так і програмні рішення.


Я усвідомлюю це, і це не так, як я наївна людина, яка задає "дурне питання" ... Я комп'ютерний програміст за спеціальністю, останні два роки працюю в галузі. Те, на що я дивлюся, - це те, що ALL DirectX - це фантазійний потужний шар абстракції, який оптимізує підпрограми та процедури управління графікою (серед іншого)
CenterOrbit

Отже, які апаратні рішення апаратних рішень ви пропонуєте, що потрібна буде нова версія ?? Коли він зводиться до нього, у графічного процесора є лише стільки наборів інструкцій, які він може виконувати на цифрових номерах ... Це саме те, як він поводиться з цими інструкціями, що змінюється (прошивка)
CenterOrbit

0

Це тому, що коли виготовлена ​​відеокарта, GPU призначений для роботи лише в рамках стандарту DirectX, ви вважаєте її сертифікованою. Зазвичай DirectX назад сумісний з попередніми версіями, тому все, що потрібно зробити, - це підвищити точність тут і там для деяких математичних розрахунків. Але з новими версіями DX також іноді вводяться нові функції (наприклад, DX11 додала tessellation), які потребують нової апаратної підтримки. Фактичний інтерфейс відеокарти не програмується (окрім шейдерів, які знову ж таки вказані у специфікації DX). Прошивка - це тип програмного забезпечення, яке знаходиться на деякій внутрішній пам'яті, якою запускається логічний чіп загального призначення. Сила GPU полягає в тому, що він фактично розроблений не для загального призначення, а для виконання конкретних завдань дуже ефективно. Ці конкретні завдання - це саме ті завдання, які окреслюються в DX. Отже, коли виходить нова версія DX, потрібно робити нові оновлення обладнання, для яких потрібен новий графічний процесор. Так, виробники плати можуть додавати більш швидку пам'ять тощо, але коли графічний процес виготовлений, логіку всередині нього не можна змінити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.