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

DirectX 12 был выпущен вместе с Windows 10 в 2015 году. Выпуск DirectX 12 от Microsoft открыл новую эру для геймеров и разработчиков игр. Способный снизить нагрузку на процессор и одновременно повысить производительность графического процессора, DirectX 12 быстро сделал себе имя.

Но действительно ли повысить производительность так же просто, как переключиться с DirectX 11 на DirectX 12? Давайте выясним это, рассмотрев различия между DirectX 11 и 12 в следующей статье!

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

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

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

DirectX 12 также обладает некоторыми интересными функциями. Сюда входят асинхронные вычисления и PSO. Асинхронные вычисления увеличивают использование графического процессора, позволяя нескольким рабочим нагрузкам работать параллельно. По сути, это раскрывает весь потенциал графического процессора.

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

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

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

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

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

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

Это значительно снижает нагрузку на процессор в DirectX 11 и повышает производительность. Так как же будет выглядеть эта разница? По данным Microsoft, DirectX 12 снижает нагрузку на процессор до 50% и повышает производительность графического процессора до 20%. Хотя это значительное улучшение, это не означает, что вы увидите те же результаты.

Почему переключиться с DirectX 11 на DirectX 12 непросто?

DirectX 11 был впервые выпущен для Windows Vista 27 октября 2009 года. Таким образом, с запуском DirectX 12 в 2015 году между DirectX 11 и DirectX 12 произошел шестилетний разрыв. За это время тысячи игр были разработаны с использованием DirectX 11. К сожалению, перейти с DirectX 11 на DirectX 12 непросто.

DirectX 11 называется API высокого уровня. Проще говоря, разработчикам легче работать с API высокого уровня. В результате получаются стабильные, увлекательные и играбельные игры. С другой стороны, DirectX 12 представляет собой низкоуровневый API и отличается от DirectX 11. Хотя он позволяет разработчикам настраивать оптимизацию на детальном уровне, он также требует обширных знаний для использования.

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

Что мне выбрать: DX 11 или DX 12?

Ответ зависит от нескольких вещей, например от игры, которую вы пытаетесь запустить. Например, Guild Wars 2 работает на DirectX 11. Даже если ваша операционная система и оборудование могут использовать DirectX 12, у вас не будет возможности выбрать DirectX 11 в Guild Wars 2, поскольку игра его не поддерживает. Это полностью решение разработчика ArenaNet.

В чем разница между DirectX 11 и DirectX 12?  Изображение 1

Хотите верьте, хотите нет, но ArenaNet потребовалось 9 лет, чтобы осуществить переход с DirectX 9 на DirectX 11. Однако некоторые игры поддерживают как DirectX 11, так и DirectX 12, включая Fortnite, Battlefield 5, Shadow of Tomb Raider и т. д. Пользователи могут переключаться между ними. DirectX 11 и DirectX 12 в настройках игры.

В настоящее время тот факт, что некоторые игры поддерживают DirectX 11 и 12, может заставить вас задуматься о производительности в игре. Обеспечит ли выбор DX 11 или DX 12 лучшую производительность в игре? Следующее видео иллюстрирует разницу между DirectX 11 и DirectX 12 в ряде игр, демонстрируя такие важные параметры, как среднее количество кадров в секунду, загрузка ЦП, загрузка графического процессора и т. д. при использовании AMD Ryze 3600, Nvidia GeForce RTX 3060 Ti и 16 ГБ. Оперативная память DDR4.

Результаты во многих отношениях удивительны: временами визуальная разница между DX 11 и DX 12 незначительна, несмотря на то, что их выпуски происходят с разницей в несколько лет. Возможно, вы также заметили разницу в загрузке графического процессора и процессора между обеими версиями DirectX: версия каждой игры для DX 12 обычно требует меньше ресурсов, чем старая DX 11.

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

В приведенной выше статье вы познакомились с вопросом «В чем разница между DirectX 11 и DirectX 12?». СоветыНадейтесь, что эта статья вам поможет! Если эта статья кажется вам интересной и полезной, не забудьте поделиться ею. Спасибо!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *