Почему во многих играх есть опции Direct X 9 и 11, но НЕ DX10?

27

Я не очень много знаю о DirectX, за исключением того, что он отвечает за лучшие графические опции для игр, например, тесселяцию и Ambient Occlusion в DX11.

Но мой вопрос: почему в некоторых играх (по крайней мере, в самых последних играх, в которые я играл) есть возможность выбрать DX9 (по умолчанию) или DX 11 (с расширенными настройками и, очевидно, с совместимыми видеокартами), но выбора НЕТ для DX 10?

Является ли DX10 версией, которая так и не была выпущена? это было неисправно? или что с этим? почему эти игры не показывают возможность использовать DX 10 вместе с DX 9 и 11?

Есть ЛЮБЫЕ игры, которые показывают эти 3 варианта? или они просто «прыгают» с DX 9 прямо на 11? Зачем?

Благодарность

DiegoDD
источник
Стоит отметить, что относительная развернутая доля рынка не является фактором. Самые последние (ноябрь 2012 г.) данные исследования Steam Hardware показывают 53% систем DX11, 32% DX10 и 13% DX9. store.steampowered.com/hwsurvey?platform=pc
Дэн Нили,
@DanNeely Обратите внимание, что это опрос по аппаратному обеспечению, который проверяет версию DX графического процессора и имеет мало общего с версией DX, фактически установленной на ПК. Например, для большинства старых игр на одном компьютере установлено несколько версий DX, чтобы играть в старые игры. И я думаю, что вполне возможно установить DX11 на компьютер с графическим процессором DX10 или DX9.
Nzall

Ответы:

52

Это связано с тем, что Windows XP поддерживает только DirectX 9. DirectX10 был добавлен в Vista, но Vista также получила бэкпорт DirectX11 от Win7 (обновление платформы), поэтому Vista / Win7 / 8 может использовать DirectX 11 и Windows XP DirectX9. А поскольку указание пути рендеринга Dx10 не имеет смысла, когда вы можете использовать лучший DiretX11, большинство игр предлагают только эти 2 режима.

magicandre1981
источник
Пятно на !! А 11.1 это просто расширение 11, не так ли?
Пратнала
да, он добавляет только некоторые незначительные функции: msdn.microsoft.com/en-us/library/hh404562.aspx . Некоторые функции были перенесены обратно в Windows 7: blogs.msdn.com/b/chuckw/archive/2012/11/14/…
magicandre1981
1
Это обновление предлагает только некоторые функции, но не все: Обновление KB 2670838 добавляет следующую поддержку Windows 7 с пакетом обновления 1 (SP1): ID3D11Device1, ID2D1Factory1, IDWriteFactory1, IDXGIFactory2, IWICImagingFactory2, ID3DUserDefinedAnnotation и соответствующие API-интерфейсы, включая IDDD3 улучшенное взаимодействие с Direct2D / DirectWrite D3D11_FEATURE_DATA_D3D9_OPTIONS обнаружение функции В дополнение к новым функциям Windows 8 WIC, это обновление также исправляет декодирование 96-битных изображений с плавающей точкой TIFF. Все остальные функции только W8
magicandre1981
3
Единственное, что я хотел бы добавить к этому, это то, что Xbox360 - это DX9; так что если есть версия игры для xbox, порт DX9 в основном бесплатный.
Дэн Нили
1
Если я правильно помню, в DirectX 10 и более поздних версиях драйвер дисплея предоставляет список поддерживаемых функций, а DirectX затем выбирает путь рендеринга, наиболее подходящий для возможностей вашего устройства отображения. По сути, DirectX 11 будет обратно совместим с DirectX 10.
-10

По сути, у DX10 был плохой дизайн, как в API, так и в том, как он будет работать.

У меня нет подробностей, но DX10 должен был стать очень большим обновлением графического инструментария, потому что DX9 становился немного устаревшим, в основном из-за новых аппаратных функций графических карт, и он был недостаточно хорош, добавьте к У Vista тоже были проблемы. Многие вещи могли накапливаться по мере выпуска новых карт и функций, поэтому они просто выпустили DX11.

Графический API сложен, потому что для первоклассной графики вам необходимо иметь программное обеспечение, адекватное постоянно меняющемуся оборудованию, которое является массивно параллельным и так далее. Качество графики игры будет зависеть от программистов игры, ребят из X api, а также от инженеров nvidia.

Просто будьте благодарны, это работает сейчас!

jokoon
источник
8
Это не совсем точно. DX10 имеет по сути тот же дизайн, что и DX11.
Groky