Главная
» ИГРОВОЙ
»
DirectX 11 против DirectX 12: что лучше для игр?
DirectX 11 против DirectX 12: что лучше для игр?
Краткий ответ: DirectX 12 может обеспечить лучшую производительность, если игра разработана с учетом его эффективного использования, особенно когда процессор ограничивает частоту кадров. DirectX 11 может быть более плавным или надежным в конкретной игре или на конкретном ПК. Ни один из API не является автоматически более быстрым, красивым или стабильным. Если игра предлагает оба варианта, сравните их в этой игре на своем оборудовании.
Direct3D 12 позволяет игре одновременно записывать несколько списков команд; это концептуальное изображение не является аппаратным тестом.
Какие изменения произошли между DirectX 11 и DirectX 12?
В большинстве дискуссий об играх под «DirectX 11» и «DirectX 12» подразумеваются графические API Direct3D, которые игра использует для передачи задач рендеринга через Windows и графический драйвер на графический процессор. API влияет на организацию этой работы; он не устанавливает универсальный пресет качества и сам по себе не улучшает качество одной и той же игровой сцены.
Direct3D 11 использует модель программирования более высокого уровня. Среда выполнения и драйвер управляют большим количеством деталей игры, что может упростить разработчикам поддержку широкого спектра систем. DX11 не является строго однопоточным: Microsoft документирует многопоточное создание объектов и запись списка команд в Direct3D 11.
Direct3D 12 предоставляет игровому движку более прямой контроль. Игра может записывать несколько списков команд в разных потоках ЦП, а затем отправлять их в очереди команд. Она также берет на себя больше ответственности за состояние ресурсов и синхронизацию ЦП/ГП. Это может снизить нагрузку на ЦП и улучшить масштабируемость, но это увеличивает объем работы по реализации в игре.
Область
DirectX 11
DirectX 12
Представление работы
Большую часть управления осуществляют среда выполнения и драйвер.
Игра записывает и отправляет списки команд с более явным контролем.
масштабирование ЦП
Поддерживает многопоточность с более управляемой моделью.
Позволяет более непосредственно распределять запись команд между ядрами процессора.
Результат игрока
Часто это полезный резервный вариант для обеспечения совместимости или стабильности.
Возможно, это улучшит производительность, ограниченную возможностями процессора, если игра будет оптимизирована для него.
Гарантированная частота кадров или качество графики?
В каких случаях DX12 может помочь, а в каких — DX11 может быть лучше?
DX12, скорее всего, поможет, когда игра сильно нагружает процессор: процессору сложно подготовить задачи для видеокарты, в то время как видеокарта может справиться с большей нагрузкой. Хорошо оптимизированный рендерер DX12 может более эффективно использовать несколько ядер процессора и снизить некоторые накладные расходы драйвера. Эти преимущества зависят от игрового движка, его патча, процессора, видеокарты и драйвера.
Если узким местом уже является графический процессор, изменение API может мало что изменить. DX12 также не добавляет автоматически трассировку лучей, шейдеры сетки, переменную скорость затенения или другие графические функции; игра должна реализовать эту функцию, а оборудование и драйверы должны её поддерживать. Даже графический процессор, способный работать с Direct3D 12, может предоставлять разные уровни функций или возможности. См. руководство Microsoft по аппаратным функциям Direct3D, чтобы понять, почему поддержка API и поддержка функций — это не одно и то же.
DX11 — разумный выбор, если игра не поддерживает DX12, если разработчик рекомендует DX11 для вашей конфигурации или если DX12 вызывает повторяющиеся рывки, визуальные сбои, зависания или вылеты. Более старая видеокарта или драйвер также могут работать более надежно с поддержкой DX11 в игре. Рассматривайте это как выбор для каждой игры отдельно, а не как правило, что каждый старый ПК должен использовать DX11.
Используйте параметры рендеринга, предоставляемые игрой; не существует универсального переключателя Windows, который бы позволял каждой игре использовать DX11 или DX12.
Как сравнить эти два аспекта в игре
Проверьте текущие настройки игры и примечания по поддержке. Некоторые игры предлагают только один рендерер; другие включают выбор DirectX в настройках графики или в лаунчере. Убедитесь, что ваша видеокарта, драйверы и версия Windows соответствуют требованиям игры.
Проводите тест последовательно. Используйте одно и то же сохранение, повтор или встроенный бенчмарк с одинаковым разрешением, графическими настройками, ограничением частоты кадров и фоновыми приложениями. Если игра компилирует или кэширует шейдеры, сначала запустите сцену один раз, а затем повторите тест.
Сравните плавность и стабильность, а также среднюю частоту кадров. Следите за стабильностью времени кадра, видимыми подтормаживаниями, сбоями и ошибками изображения. Повторяйте каждый запуск; один короткий результат может ввести в заблуждение. Выберите режим, который кажется стабильным во время того типа игры, которым вы действительно занимаетесь.
После крупных обновлений или драйверов поведение рендерера игры может измениться. Результаты, указанные для Fortnite, Ready or Not или Path of Exile, описывают протестированную версию и ПК; это не универсальная рекомендация. Проверьте актуальные примечания разработчиков и повторите тестирование, если в вашей игре произошли изменения.
Для объективного сравнения используйте одну и ту же сцену и настройки. Приведенные здесь графики зависимости частоты кадров от времени являются иллюстративными, а не результатами измерений.
Итак, какой из них следует использовать?
Начните с того рендерера, который рекомендует игра. Попробуйте DX12, если он поддерживается и вы хотите проверить, улучшится ли производительность, ограниченная процессором. Переключитесь на DX11, если он работает плавнее или стабильнее на вашей системе. Если игра предлагает только один вариант, используйте поддерживаемый путь, а не пытайтесь принудительно установить другой API. Практическим победителем станет тот режим, который обеспечивает плавную и надежную работу игры на вашем ПК.