5

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

Я бы предположил, что речь идет о прошивке самой видеокарты, не может ли она быть прошита для поддержки последней версии? Или эта карта DX10 будет поддерживать и работать с DX11 просто отлично, это просто факт, что Nvidia не смогла пометить ее как таковую, поскольку DX11 еще не было?

Любой, у кого есть хорошее понимание этого, дайте мне знать!

Отредактируйте: хорошо, если вы отрицаете эту ветку или голосуете за ее закрытие ... не могли бы вы объяснить, почему вы думаете, что это "глупый вопрос". Мне серьезно любопытно, как или в чем разница между версиями DX, которые потребовали бы полной замены оборудования. Наборы инструкций для GPU одинаковы, единственное различие в оборудовании состоит в том, что у более новых есть более быстрая VRAM, больше потоковых процессоров и т.д. Так почему же нельзя обновить карту DX10 для поддержки DX11?? Дайте мне причину.

4 ответа4

6

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

Это будет то же самое, что и конкретный процессор, не поддерживающий новые функции, представленные более новым процессором, конечно, новые функции могут быть эмулированы (и могут работать не намного медленнее, чем собственная реализация), но сам процессор по-прежнему не будет действительно поддерживать требуемые функции. Сходной идеей может быть возможность эмуляции инструкций SSE на процессоре, отличном от SSE, конечно, вы можете это сделать, но это очень сложно и будет намного медленнее, чем полная аппаратная реализация.

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

3

После (и включая) DirectX 10 Microsoft решила просто отказаться от всего "битов совместимости" и просто установить минимальный уровень DirectX на карте. Если ваша карта совместима с DX11, она поддерживает все функции DX11. Это облегчает разработчикам (вам не нужно проверять доступность функции перед ее использованием) и обеспечивает более согласованную работу.

С концептуальной точки зрения, что может потребоваться любому, кто просматривает этот поток, для модификации оборудования для перехода с DX10 на DX11? Все графические процессоры и потоковые процессоры имеют одинаковые или очень похожие наборы команд.

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

Хотя не все из них были изменены с перехода с DX10 на DX11, существуют дополнительные функции, которые были реализованы как на аппаратном, так и на программном уровне (большинство этих изменений имеют закрытый исходный код, поэтому я не могу комментировать конкретные изменения).

При этом вы можете запускать программное обеспечение DirectX 11 с использованием аппаратного обеспечения DirectX 9/10, хотя и без дополнений к DirectX 11 (а именно тесселяции, многопоточного рендеринга и вычислительных шейдеров), и при условии, что разработчик правильно внедрил приложение. Я не вижу, чтобы это когда-либо было проблемой, потому что это буквально ничего не стоит для реализации - вот почему я упоминал о "битах совместимости" раньше.

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

1

"Обновление прошивки" - это не решение всех проблем. Требования DirectX для каждой версии будут касаться как аппаратного, так и программного обеспечения.

0

Это связано с тем, что при изготовлении видеокарты графический процессор предназначен только для работы в стандарте DirectX, для которого вы видите его сертификацию. Обычно DirectX обратно совместим с предыдущими версиями, поэтому все, что нужно сделать, это повысить точность кое-где для некоторых математических вычислений. Но с новыми версиями DX также иногда появляются новые функции (например, добавленная тесселяция DX11), которые требуют поддержки нового оборудования. Фактические внутренние компоненты видеокарты не программируются (кроме шейдеров, которые, опять же, указаны в спецификации DX). Прошивка - это тип программного обеспечения, которое находится на некоторой внутренней памяти и может работать с универсальным логическим чипом. Сила графического процессора заключается в том, что он на самом деле специально предназначен не для общего назначения, а для выполнения конкретных задач очень эффективно. Эти конкретные задачи - именно те задачи, которые изложены в спецификации DX. Таким образом, когда выходит новая версия DX, необходимо сделать новые обновления оборудования, для чего требуется новый графический процессор. Да, производители плат могут добавить более быструю память и тому подобное, но как только GPU изготовлен, логика внутри него не может быть изменена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .