Как запустить игру с DirectX 12 на DirectX 11

Обновлено: 21.11.2024

Чтобы использовать DirectX 10 или 11 Graphics в игре (DDO или LOTRO), ваша система должна соответствовать следующим критериям:

  • Ваша операционная система должна быть либо Windows Vista, либо Windows 7.
  • Необходимо установить и обновить DirectX 10 или 11.
  • Модель вашей видеокарты должна поддерживать графику DX10/11 в играх.
  • Игра должна иметь возможность определять три указанных выше элемента как доступные, чтобы иметь возможность разрешить их использование.

Как подтвердить вышеизложенное:

  • Нажмите кнопку "Пуск" в Windows, выберите "Начать поиск", введите "dxdiag" (без кавычек) и нажмите Enter.
  • На открывшейся панели «Диагностика DirectX» будет указана «Операционная система» и установленная версия DirectX.
  • Чтобы определить, поддерживает ли ваша видеокарта DX10 или 11, посетите веб-сайт производителя видеокарты или набора микросхем (например, NVIDIA или ATI).

Если ваша система соответствует указанным выше критериям, игра должна определить это при запуске и спросить, хотите ли вы их включить. Кроме того, вы можете включить эти параметры вручную (только если они доступны), выполнив следующие действия:

  1. Войдите в игру, чтобы выбрать персонажа и открыть меню параметров.
  2. Нажмите "Графика" справа.
  3. Нажмите раскрывающийся список рядом с пунктом «Уровень графического оборудования» и выберите режим DirectX 9, 10 или 11. (Нажмите «Принять» и перезапустите игру, чтобы изменения вступили в силу.)
  4. Примечание. Вы не сможете изменить это, если ваша система не соответствует критериям.

Я включил DirectX 10, когда игра спросила, хочу ли я этого, но теперь, когда я добираюсь до выбора персонажа, я не вижу своих персонажей?

Если вы включили режим DX10 и не можете видеть модели персонажей при выборе, а только «2D» элементы, такие как меню и т. д., и/или во время создания персонажа вы не можете выбрать ни одну из опций «Раса», это может быть связано с проблема подробно описана здесь.

После того, как я включил DirectX 10/11, игра вылетела или не запускается. Как я могу изменить его, чтобы не использовать DX10/11, если я не могу перейти к параметрам?

Если вы включили режим DX10 и теперь не можете запустить игру, вы можете отменить настройки графики игры в программе запуска:

  1. Откройте панель запуска игры.
  2. Нажмите кнопку в строке в правом верхнем углу с одиночной стрелкой вниз.
  3. Выберите "Параметры" и на вкладке "Восстановить" выберите "Сбросить настройки экрана игры" и нажмите "ОК".
  4. Продолжайте входить в игру, и когда появится запрос "Вы уверены, что хотите сбросить настройки графики?" выберите «Да». Если вам будет предложено включить графику DirectX 10/11, выберите «Нет».

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

Если вы уверены, что ваша система соответствует критериям для поддержки графических режимов DirectX 10 или 11 в играх, но не получаете запроса на его включение, а этот параметр «неактивен» в параметрах, возможно, вы используете один или больше игровых файлов в «Режиме совместимости» и, скорее всего, для операционной системы, не поддерживающей DX10/11 (например, Windows XP).

Если вы включили режим совместимости для любого из файлов игры или «ярлыка», с которого вы запускаете игру, отключение этого параметра должно исправить ситуацию, когда игра не поддерживает графику DX10/11.

У меня есть видеокарта, которая их поддерживает, но у меня Windows XP. Что я могу сделать?

Windows XP не поддерживает режим DirectX 10 или DirectX 11.

Примечание. Существуют сторонние «порты», предназначенные для установки и запуска DirectX 10 в Windows XP. Они не по-прежнему позволяют игре выбирать режим DX10 и несовместимы с игрой, что приведет к значительной потере стабильности при запуске игры (например, сбою). Если вы установили один из этих портов, мы настоятельно рекомендуем удалить его и вернуться к использованию Microsoft DirectX 9.0C, так как это устранит проблемы со стабильностью и совместимостью при запуске игр.

Последующие пункты:

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

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

Статус Эта тема была заблокирована и не открыта для дальнейших ответов. Первоначальный инициатор темы может использовать кнопку «Отчет», чтобы запросить ее повторное открытие, но любой другой пользователь с похожей проблемой должен создать новую тему. Посмотрите наше приветственное руководство, чтобы узнать, как пользоваться этим сайтом.

ГабриэльМ

Игра The Isle отказывается запускаться из-за кода ошибки, говорящего, что мне нужен Dx 11 уровня 10. Я проверил свою систему, и у меня есть Dx 12. Я никогда раньше не пользовался Windows, поэтому понятия не имею, что делать. . Я искал так много руководств о том, как это исправить, но они не работали. Я так потерян. Я использую Windows 10, и я много раз переустанавливал, обновлял и перезагружал свой компьютер. Все полностью обновлено.

Вложения

флавалле

Пожалуйста, сделайте следующее на этом Dell OptiPlex 790, чтобы мы могли получить больше информации о нем:
Загрузите и сохраните файл tsginfo.exe.
После загрузки и сохранения дважды щелкните его, чтобы запустить.
Появится информация о вашем компьютере.
Вернитесь сюда, в свою тему, а затем скопируйте и вставьте сюда ВЕСЬ текст.

В Windows 10 есть DirectX 12, который обратно совместим с DirectX 11, 10 и 9.
Если для вашей игры требуется DirectX 11, я не знаю, почему она не будет работать с DirectX 12.
Возможно, кто-то еще сможет ответить на этот вопрос.

ГабриэльМ

Пожалуйста, сделайте следующее на этом Dell OptiPlex 790, чтобы мы могли получить больше информации о нем:
Загрузите и сохраните файл tsginfo.exe.
После загрузки и сохранения дважды щелкните его, чтобы запустить.
Появится информация о вашем компьютере.
Вернитесь сюда, в свою тему, а затем скопируйте и вставьте сюда ВЕСЬ текст.

В Windows 10 есть DirectX 12, который обратно совместим с DirectX 11, 10 и 9.
Если для вашей игры требуется DirectX 11, я не знаю, почему она не будет работать с DirectX 12.
Возможно, кто-то еще сможет ответить на этот вопрос.

Пожалуйста, сделайте следующее на этом Dell OptiPlex 790, чтобы мы могли получить больше информации о нем:
Загрузите и сохраните файл tsginfo.exe.
После загрузки и сохранения дважды щелкните его, чтобы запустить.
Появится информация о вашем компьютере.
Вернитесь сюда, в свою тему, а затем скопируйте и вставьте сюда ВЕСЬ текст.

В Windows 10 есть DirectX 12, который обратно совместим с DirectX 11, 10 и 9.
Если для вашей игры требуется DirectX 11, я не знаю, почему она не будет работать с DirectX 12.
Возможно, кто-то еще сможет ответить на этот вопрос.

Техническая поддержка Guy System Info Utility, версия 1.0.0.9
Версия ОС: Microsoft Windows 10 Pro, 64-разрядная версия, сборка 19042, установлен 20200730192235.000000-240
Процессор: Intel(R) Core(TM) i7 ЦП -2600 @ 3,40 ГГц, семейство Intel64 6, модель 42, степпинг 7, количество ЦП: 8,
Общая физическая оперативная память: 8 ГБ,
Графическая карта: Intel(R) HD Graphics,
Жесткие диски: C : 237 ГБ (145 ГБ свободно);
Материнская плата: Dell Inc. 0D28YY, версия A03, серийный номер /9JZZ5V1/CN7220024T02AZ/
Система: Dell Inc., версия DELL - 6222004, серийный номер 9JZZ5V1
Антивирус: Защитник Windows, Включено и обновлено

флавалле

Версия ОС: Microsoft Windows 10 Pro, 64-разрядная версия, сборка 19042, установленный номер 20200730192235.000000-240
Процессор: Intel(R) Core(TM) i7-2600 CPU @ 3,40 ГГц, Intel64 Family 6 Model 42 Stepping 7 , Количество процессоров: 8.
Общая физическая оперативная память: 8 ГБ.
Видеокарта: Intel(R) HD Graphics.
Жесткие диски: C: 237 ГБ (145 ГБ свободно);
Материнская плата: Dell Inc. 0D28YY, версия A03, серийный номер /9JZZ5V1/CN7220024T02AZ/
Система: Dell Inc., версия DELL - 6222004, серийный номер 9JZZ5V1

Согласно вашему журналу:
У вас ЭТОТ Dell OptiPlex 790 в малом форм-факторе.

Согласно сайту поддержки и вашему журналу:
Он был куплен в июле 2012 г. в США и поставлялся с 64-разрядной версией Windows 7 Professional SP1.
64-разрядная версия Windows 10 Pro была установлена ​​на нем в июле 2020 года и обновлена ​​до версии 20H2 Build 19042.
Он имеет оригинальный процессор Intel Core i7-2600 (со встроенной графикой Intel HD Graphics 2000). ).
Он имеет оригинальные 8 ГБ оперативной памяти DDR3-1333.
Исходный жесткий диск SATA3 емкостью 500 ГБ был заменен жестким диском или твердотельным накопителем меньшей емкости емкостью 250 ГБ.
У него больше нет оригинальной видеокарты AMD Radeon HD 6450, или ваш журнал не обнаруживает ее.
У него BIOS A18, который не был обновлен до BIOS A22.

Войдите в игру, чтобы выбрать персонажа и открыть меню параметров. Нажмите «Графика» справа. Щелкните раскрывающийся список рядом с «Уровень графического оборудования» и выберите режим DirectX 9, 10 или 11. (Нажмите «Принять» и перезапустите игру, чтобы изменения вступили в силу.)

Выглядит ли DirectX 12 лучше?

DX12 определенно рендерит дальше, чем DX11. DX12 является преимуществом в мировом PVP и некоторых BG. Разницы быть не должно. Единственное, для чего был разработан dx 12, — это примерно на 50 % более высокая производительность кадра.

Улучшит ли DirectX 12 FPS?

Поскольку DX12 использует ЦП более эффективно, частота кадров будет падать намного меньше, когда игра требует максимальной производительности, обеспечивая более постоянную частоту кадров на протяжении всего игрового процесса.DX11 обеспечивает 19 кадров в секунду, а DX12 более чем на 60 % быстрее при 33 кадрах в секунду при том же энергопотреблении.

Увеличивает ли DirectX FPS?

DirectX предназначен не для улучшения чего-либо, а для включения возможностей графического рендеринга с помощью графического процессора. Несколько лет назад, когда начали появляться демо-версии, было много шума о том, что DirectX 12 произвел революцию в игровой производительности, но правда в том, что игры, полностью поддерживающие DirectX12, улучшаются только постепенно.

Что лучше DirectX 9 или 11?

В этом разделе объясняются высокоуровневые различия между DirectX 9 и DirectX 11. Direct3D 11 в основном представляет собой тот же тип API, что и Direct3D 9, — низкоуровневый виртуализированный интерфейс для графического оборудования. Он по-прежнему позволяет выполнять операции рисования графики на различных аппаратных реализациях.

Какая лучшая версия DirectX?

DirectX — это «API программирования», который не имеет ничего общего с «игровым опытом». А на win 7;8 и 8.1 Microsoft DirectX 11 лучше всего подходит для игр….

Что означает DirectX 9?

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

Лучше ли более высокий уровень DirectX?

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

Может ли мой компьютер работать с DirectX 12?

Windows 10 — единственная операционная система, поддерживающая DirectX 12, а это означает, что если вы хотите использовать эти функции, вам необходимо воспользоваться бесплатным обновлением Microsoft (или купить новый компьютер с предустановленной версией W10).

Улучшает ли DirectX 11 FPS в GTA 5?

Как DirectX 11, так и DirectX 12 имеют свои преимущества. DirectX 11 известен своей лучшей производительностью, а также большей поддержкой со стороны различных разработчиков.

Какой DirectX мне следует использовать для GTA?

Звуковая карта: полностью совместима с DirectX 10. Место на жестком диске: 65 ГБ. DVD-привод: только если у вас есть физическая версия игры.

В чем разница между DirectX 10 и 11?

Основное отличие заключается в использовании тесселяции в DX11. Это помогает округлить и сделать поверхности более реалистичными и детализированными в игре. DX11 также помогает в других областях, таких как многопоточные игры и затенение.

Поддерживает ли GTA 5 DX12?

GTA V не поддерживает DX12, только 11. Можно и 11, и 12.

Есть ли в GTA V Вулкан?

Рой@AMD подтвердил в твиттере, что GTA V будет поддерживать Vulkan API, графический API нового поколения, основанный на AMD Mantle. Ниже приведены минимальные и рекомендуемые спецификации для GTA 5, в которых указано, что вам требуется графический процессор, совместимый с DirectX 10 или выше.

Поддерживает ли GTA 5 Directx12?

Очевидно, что GTA V пока не поддерживает directx12 и, вероятно, никогда не будет. Я был сбит с толку, потому что у меня также есть «Shadow of the Tomb Raider», который совместим с DirectX12.

В каких играх используется dx12?

Общее количество игр: 131

< td>11 марта 2016 г.
Игра Разработано Дата выпуска
Heroes & Генералы Рето-Мото 22 сентября 2016 г.
Hitman IO Interactive
Hitman 2 IO Interactive 13 ноября 2018 г.
Hitman 3 IO Interactive 20 января 2021 г.

Подходит ли DirectX 12 для игр?

DirectX 12 дебютировал два года назад, обещая значительное повышение производительности и снижение задержки по всем направлениям. Это включает в себя более эффективное использование ЦП, более близкий доступ к металлу, а также множество новых функций, в первую очередь трассировку лучей или DXR (DirectX Ray-tracing).

Поддерживает ли GTX 1080 DX12?

На данный момент все графические процессоры Nvidia серии GTX 4 поддерживают DX12. Все, что вам нужно сделать, это загрузить и установить видеодрайвер для вашей карты… а GTX 1080 определенно поддерживает DX12…

Выпуск GTX 1080 прекращен?

Представленная в начале марта 2017 года по цене 699 долларов США и снятая с производства, NVIDIA GeForce GTX 1080 Ti теперь, по-видимому, снова выпускается.

Как узнать, поддерживает ли моя видеокарта DirectX 12?

Какая версия DirectX установлена ​​на вашем компьютере?

  1. В поле поиска на панели инструментов введите dxdiag. Затем выберите команду «Выполнить dxdiag».
  2. В средстве диагностики DirectX выберите вкладку "Система", затем проверьте версию DirectX в разделе "Информация о системе".

Поддерживает ли GTX 1050 DX12?

Хотя в играх DX12 он достаточно хорошо держится, 1050 торпедирует RX 460 в каждой игре DX11, даже с 4 ГБ ОЗУ.

Как узнать, поддерживает ли моя видеокарта DirectX 11?

Чтобы использовать средство диагностики DirectX для определения версии DirectX, установленной на вашем компьютере, выполните следующие действия:

  1. Нажмите "Пуск", а затем "Выполнить".
  2. Введите dxdiag и нажмите OK.
  3. На вкладке "Система" обратите внимание на версию DirectX, которая отображается в строке "Версия DirectX".

Что такое видеокарта DirectX 11?

DX11 — это сокращение от DirectX 11. Это последнее поколение так называемого интерфейса прикладного программирования. Этот интерфейс регулирует взаимосвязь между мультимедийным оборудованием — видеокартами, звуковыми картами — и операционной системой.

Мэттью – фрилансер, написавший множество статей на различные темы, связанные с технологиями. Основное внимание он уделяет ОС Windows и всему, что с ней связано. Он увлечен. Подробнее

  • Обычно для включения DirectX 12 особых действий не требуется, и в этом руководстве мы покажем, как это сделать всего несколькими щелчками мыши.
  • Чтобы поддерживать DirectX 12 в Windows 10 в актуальном состоянии, вы должны убедиться, что ваша платформа Windows 10 полностью обновлена.
  • Вы можете использовать DirectX 12 в Fortnite, изменив настройки графики, поскольку в этой игре DX11 включен по умолчанию.
  • Чтобы использовать DirectX 12 в Windows 10, убедитесь, что у вас установлены последние версии драйверов.

Для решения различных проблем с ПК мы рекомендуем Restoro PC Repair Tool:
Это программное обеспечение устраняет распространенные компьютерные ошибки, защищает вас от потери файлов, вредоносных программ, сбоев оборудования и оптимизирует работу вашего ПК для достижения максимальной производительности. Решите проблемы с ПК и удалите вирусы за 3 простых шага:

  1. Загрузите Restoro PC Repair Tool, который поставляется с запатентованными технологиями (патент доступен здесь).
  2. Нажмите «Начать сканирование», чтобы найти проблемы Windows, которые могут вызывать проблемы с ПК.
  3. Нажмите «Исправить все», чтобы устранить проблемы, влияющие на безопасность и производительность вашего компьютера.
  • В этом месяце Restoro скачали 0 читателей.

DirectX 12 — это мультимедийный API (интерфейс прикладного программирования) Microsoft для рендеринга игровой и видеографики и воспроизведения звука. Этот API в первую очередь предназначен для Windows 10, которая также поддерживает более старые версии DirectX 11, 10 и 9.

В Windows 10 нет специального параметра для включения DirectX 12. Однако есть несколько вещей, которые вы можете сделать, чтобы убедиться, что у вас установлена ​​самая последняя версия DirectX 12.

Кроме того, вам может потребоваться настроить определенные внутриигровые параметры, чтобы включить DirectX 12 для некоторых игр.

Как включить DirectX 12?

1. Включите DirectX 12 в Windows 7, обновив драйвер графического процессора

Некоторые избранные игры для Windows 7, такие как World of Warcraft, поддерживают DirectX 12. Вы можете включить DX12 для некоторых игр для Windows 7, убедившись, что на графическом процессоре NVIDIA или AMD установлена ​​самая последняя версия драйвера.

Некоторым пользователям также может потребоваться обновить драйверы графического процессора, чтобы включить DX12 Ultimate в Windows 10. Чтобы убедиться, что драйвер видеокарты обновлен, запустите утилиту обновления драйверов.

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

  1. Загрузите и установите DriverFix.
  2. Запустите программу.
  3. Подождите, пока только что установленное приложение обнаружит все неисправные драйверы вашего ПК.
  4. Вам будет представлен список всех проблемных драйверов, и вы сможете выбрать те, которые хотите исправить.
  5. Дождитесь завершения загрузки и исправления драйвера.
  6. Перезагрузите компьютер, чтобы изменения вступили в силу.

Исправление драйвера

Не позволяйте плохому драйверу мешать вашим играм и установленному программному обеспечению. Используйте DriverFix сегодня и запустите их без единой проблемы.

Отказ от ответственности: эту программу необходимо обновить с бесплатной версии, чтобы выполнять определенные действия.

2. Обновите Windows 10

  1. Одновременно нажмите клавиши Windows и I, чтобы открыть настройки.
  2. Выберите «Обновление и безопасность» в настройках, чтобы открыть раздел Центр обновления Windows.
  3. Нажмите Проверить наличие обновлений, чтобы узнать, есть ли доступные исправления. Если это так, установите исправления.
  4. Если вы не используете последнюю версию сборки Windows 10, нажмите «Загрузить и установить», чтобы получить доступное обновление функций.
  5. Хотя существует веб-установщик DirectX для конечного пользователя, он переустанавливает только DX9, 10 и 11.

    Обновление Windows 10 — это самый близкий способ переустановки и включения DirectX 12, когда кажется, что он работает неправильно. Это может восстановить отсутствующие файлы DirectX 12 на вашем ПК.

    После обновления драйвера видеокарты и Windows 10 на вашем компьютере будет установлена ​​последняя версия DirectX 12.

    Однако вам может потребоваться настроить некоторые игры для использования Direct12 в графических настройках. Ниже приведены два примера того, как включить DX12 для Fortnite и Battlefront 2.

    Как включить DirectX 12 для Fortnite

    Как видите, включить DirectX 12 в Fortnite очень просто, если следовать приведенным выше инструкциям.

    Как включить DirectX 12 для Battlefront 2

    1. Запустите игру Battlefront 2.
    2. Откройте главный экран в Battlefront 2.
    3. Выберите Параметры, чтобы открыть выбор вкладок для различных категорий настроек.
    4. Выберите вкладку "Видео".
    5. Затем включите параметр Включить DirectX 12, если он отключен.
    6. Чтобы применить новые настройки, вам потребуется перезапустить Battlefront 2.
    7. Это единственный способ включить DirectX 12 в Battlefront 2, поэтому обязательно попробуйте его.

      Вот как вы можете убедиться, что DirectX 12 полностью включен в Windows 10, Fortnite и Battlefront 2. Вам нужно просмотреть дополнительные настройки графики для параметров DX12, чтобы включить DirectX 12 в других играх.

      По-прежнему возникают проблемы? Исправьте их с помощью этого инструмента:

      DirectX 12 дебютировал два года назад, обещая значительное повышение производительности и эффективности по всем направлениям. Это включает в себя более эффективное использование ЦП, более близкий доступ к металлу, а также множество новых функций, в первую очередь трассировку лучей или DXR (DirectX Ray-tracing). Но что такое DirectX 12 и чем он отличается от DirectX 11. Давайте посмотрим.

      Что такое DirectX: это API

      Подобно Vulkan и OpenGL, DirectX — это API, позволяющий запускать видеоигры на компьютере. Однако, в отличие от своих аналогов, DX является проприетарной платформой Microsoft и изначально работает только в Windows. С другой стороны, OpenGL и Vulkan работают как на Mac, так и на Linux.

      Что делает графический API, такой как DirectX? Он действует как промежуточное звено между игровым движком и графическими драйверами, которые, в свою очередь, взаимодействуют с ядром ОС. Графический API — это платформа, на которой разрабатываются реальный дизайн и механика игры. Думайте об этом как о MS Paint, где игра — это рисование, а приложение для рисования — это API. Однако, в отличие от Paint, программа вывода графического API доступна для чтения только API, используемому для ее разработки. Как правило, API предназначен для конкретной ОС. Вот почему игры для PS4 не работают на Xbox One и наоборот.

      DirectX 12 Ultimate — первый графический API, нарушающий это правило. Он будет использоваться как на Windows, так и на Xbox Series X следующего поколения. С помощью DX12 Ultimate MS фактически интегрирует две платформы.

      DirectX 11 и DirectX 12: что это значит для геймеров на ПК

      Есть три основных преимущества API DirectX 12 для геймеров на ПК:

      Лучшее масштабирование с многоядерными процессорами

      Одним из основных преимуществ низкоуровневых API, таких как DirectX 12 и Vulkan, является более эффективное использование ЦП. Традиционно с играми на основе DirectX 9 и 11 большинство игр использовали только 2-4 ядра для различных механик: физики, ИИ, вызовов отрисовки и т. д. Некоторые игры даже ограничивались одним. С DirectX 12 все изменилось. Нагрузка более равномерно распределяется между всеми ядрами, что делает многоядерные процессоры более актуальными для геймеров.

      Максимальное использование оборудования

      Многие из вас могли заметить, что вначале графические процессоры AMD отдавали предпочтение играм с DirectX 12 больше, чем конкурирующим компонентам NVIDIA. Почему это?

      Причина в лучшем использовании. Традиционно у NVIDIA была гораздо лучшая поддержка драйверов, в то время как аппаратное обеспечение AMD всегда страдало от ее отсутствия. DirectX 12 добавляет множество технологий для улучшения использования, таких как асинхронные вычисления, которые позволяют одновременно выполнять несколько этапов конвейера (читай: вычисления и графика).Это делает плохую поддержку водителей менее актуальной проблемой.

      Ближе к металлической поддержке

      Еще одно важное преимущество DirectX 12 заключается в том, что разработчики имеют больший контроль над тем, как их игра использует аппаратное обеспечение. Раньше это было более абстрактно и в основном заботилось о драйверах и API (хотя некоторые движки, такие как Frostbyte и Unreal, также предоставляли низкоуровневые инструменты).

      Теперь задача ложится на разработчиков. Они имеют более близкий доступ к металлу, а это означает, что большая часть обязанностей по рендерингу и распределению ресурсов выполняется игровыми движками с некоторой помощью графических драйверов.

      Это палка о двух концах, так как в дикой природе существует несколько архитектур графических процессоров, и независимые разработчики не могут оптимизировать свою игру для всех них. К счастью, сторонние движки, такие как Unreal, CryEngine и Unity, делают это за них, и им нужно сосредоточиться только на дизайне.

      Как DirectX 12 повышает производительность за счет оптимизации использования оборудования

      Опять же, есть несколько основных усовершенствований API, которые способствуют этому:

      Контекст API для каждого вызова

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

      В DirectX 12 вызовы отрисовки стали более гибкими. Вместо единого глобального состояния (контекста) каждый вызов отрисовки из приложения имеет собственное меньшее состояние (дополнительные сведения см. в PSO ниже). Эти вызовы отрисовки содержат необходимые данные и связанные с ними указатели внутри и не зависят от других вызовов и их состояний. Это позволяет использовать несколько потоков для разных вызовов отрисовки.

      Объекты состояния конвейера

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

      Каждый из объектов в DirectX 11 должен быть определен отдельно (во время выполнения), а следующее состояние не может быть выполнено до тех пор, пока не будет завершено предыдущее, поскольку для них требуются разные аппаратные устройства (шейдеры и ROP, TMU и т. д.) . Это приводит к недостаточному использованию оборудования, что приводит к увеличению накладных расходов и сокращению числа вызовов отрисовки.

      В приведенном выше сравнении аппаратное состояние 1 представляет код шейдера, а 2 — комбинацию растеризатора и потока управления, связывающего растеризатор с шейдерами. Состояние 3 — это связь между наложением и пиксельным шейдером. Вершинный шейдер влияет на состояния аппаратного обеспечения 1 и 2, состояние растеризатора 2, состояния пиксельного шейдера 1-3 и так далее. Как уже объяснялось в предыдущем разделе, это приводит к дополнительной нагрузке на ЦП, поскольку драйвер обычно предпочитает дождаться разрешения зависимостей.

      DirectX 12 заменяет различные состояния объектами состояния конвейера (PSO), которые завершаются при самом создании. Простыми словами PSO — это объект, описывающий состояние вызова отрисовки, который он представляет. Приложение может создавать столько PSO, сколько требуется, и может переключаться между ними по мере необходимости. Эти PSO включают байт-код для всех шейдеров, включая вершинный, пиксельный, доменный, корпусный и геометрический шейдеры, и могут быть преобразованы в любое состояние в соответствии с требованиями, независимо от какого-либо другого объекта или состояния.

      В новейших графических процессорах NVIDIA и AMD с помощью DirectX 12 представлены шейдеры задач и шейдеры сетки.Эти два новых шейдера заменяют различные громоздкие этапы шейдеров, используемые в конвейере DX11, для более гибкого подхода.

      Шейдер сетки выполняет ту же задачу, что и шейдеры предметной области и геометрии, но внутри он использует многопоточную модель вместо однопоточной. Шейдер задач работает аналогично. Основное отличие здесь состоит в том, что в то время как входные данные шейдера корпуса представляют собой патчи, а выходные данные мозаичного объекта, входные и выходные данные шейдера задач определяются пользователем.

      В приведенной ниже сцене есть тысячи объекты, которые необходимо отобразить. В традиционной модели для каждого из них потребовался бы уникальный вызов отрисовки от ЦП. Однако с помощью шейдера задач список объектов отправляется с помощью одного вызова отрисовки. Затем шейдер задач обрабатывает этот список параллельно и назначает работу шейдеру сетки (который также работает синхронно), после чего сцена отправляется в растеризатор для преобразования 3D в 2D.

      Этот подход помогает уменьшить количество вызовов отрисовки ЦП на сцену значительно, тем самым повышая уровень детализации.

      Сетчатые шейдеры также облегчают отбраковку неиспользуемых треугольников. Это делается с помощью шейдера усиления. Он запускается перед шейдером сетки и определяет необходимое количество групп потоков шейдера сетки. Они проверяют различные мешлеты на возможные пересечения и видимость на экране, а затем выполняют требуемую отбраковку. Отбор геометрии на этом раннем этапе рендеринга значительно повышает производительность. Вы можете прочитать больше здесь...

      NVIDIA Mesh Shaders и Hull Shaders также используют DX12

      Очередь команд

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

      Читайте также: