DirectX 12 Ultimate использует основу DirectX 12 и включает несколько новых функций, появившихся за последние два года. В первую очередь это DirectX Raytracing 1.1; Поскольку все больше и больше игр используют трассировку лучей, DirectX 12 Ultimate изначально интегрирует эту функцию в Windows, а также в грядущую консоль Microsoft Xbox Series X.
DirectX 12 Ultimate также поддерживает затенение с переменной скоростью, что позволяет графическому процессору более эффективно использовать свои ресурсы для рендеринга объектов в фокусе, что приводит к более высокой частоте кадров и большей точности. Вы также получаете такие функции, как Sampler Feedback, которые улучшают качество текстур при меньшем использовании ресурсов, и в целом вы получаете набор изменений, которые должны сделать игры следующего поколения более плавными.
По сути, DirectX 12 Ultimate помогает разработчикам игр создавать более захватывающие игры с более качественными текстурами и реалистичным освещением, а благодаря этим функциям, встроенным в Windows, вы сразу же заметите разницу, если у вас есть видеокарта, которая работает с последней версией DirectX.
Приятно видеть дебют DirectX 12 Ultimate на Xbox Series X, но сначала он появится на ПК с Windows. Он уже распространяется на видеокарты NVIDIA серии GeForce RTX, и Microsoft заявляет, что технология будет на «миллионах» видеокарт, прежде чем ее консоль появится в конце этого года. Обязательно ознакомьтесь с нашим руководством по лучшим видеокартам, чтобы узнать о возможностях обновления и получить дополнительную информацию.
RTX 2060 поддерживает трассировку лучей и NVIDIA DLSS и идеально подходит для игры в Death Stranding. Вы сможете без проблем играть в новейшие компьютерные игры в разрешении 1440p, а предлагаемая здесь ценность очень велика.
Мы можем получать комиссию за покупки по нашим ссылкам. Узнать больше.
Как раз в тот момент, когда вы думали, что хранилища знаний старой Windows 1.0 исчерпаны, появляется новая запись. И это становится еще более захватывающим: этот конкретный самородок знаний содержит отсылку ни к кому иному, как к самому Гейбу Ньюэллу из Valve.
Сегодня в 13:30 по восточному времени мы в прямом эфире с подкастом Windows Central Video, обязательно будьте там!
Stranger of Paradise: Final Fantasy Origin – это игра, набитая возмутительными персонажами и потрясающими мемами, но этого недостаточно, чтобы передать общее впечатление.
Сборка настольного компьютера может оказаться непростой задачей для новичков, так почему бы не пропустить весь процесс с уже готовым ПК? Мы выбрали лучшие настольные компьютеры стоимостью менее 1000 долларов США для геймеров и домашнего офиса.
DirectX впервые появился в 1996 году, и именно благодаря ему Windows доминирует в играх. Когда эта функция была впервые развернута в Windows 95, она давала разработчикам игр доступ к низкоуровневым аппаратным функциям, что позволяло им настраивать игры.
DirectX — это очень важно, потому что без него у игр не было бы доступа к оборудованию в Windows. В отличие от консоли, такой как Xbox One, где есть одна видеокарта, Windows предоставляет вам множество вариантов конфигурации оборудования. Варианты варьируются от бюджетной GeForce GTX 1660 до GeForce RTX 2080 Ti за 1430 долларов, а также сотни материнских плат и наборов микросхем, поэтому при сборке нового ПК у вас есть безграничный выбор.
Это усложняет задачу разработчикам компьютерных игр, поскольку им приходится настраивать параметры и текстуры для самых разных конфигураций. Вот где DirectX пригодится. Эта функция позволяет играм «общаться» с оборудованием напрямую, что облегчает разработчикам игр создание оптимизированных настроек для каждой конфигурации.
DirectX – это набор интерфейсов прикладного программирования (API), обеспечивающих низкоуровневый доступ к таким аппаратным компонентам, как видеокарты, звуковая карта и память. Если это звучит слишком сложно, давайте разберемся. На базовом уровне DirectX позволяет играм «разговаривать» с видеокартами. Во времена DOS игры имели прямой доступ к видеокартам и материнской плате, и вы могли напрямую редактировать файл конфигурации, чтобы внести изменения.
Но в Windows 95 Microsoft ограничила доступ к низкоуровневому оборудованию в качестве меры безопасности. Это означало, что игры больше не могли взаимодействовать с низкоуровневыми аппаратными функциями, и это было проблемой. Поэтому, чтобы облегчить этот доступ, Microsoft представила DirectX — думайте о DirectX как о посреднике, облегчающем связь между игрой и видеокартой.
DirectX – не единственный протокол API, доступный на сегодняшний день, но он встроен в Windows — в отличие от стандарта OpenGL — и в этом его преимущество. А с помощью DirectX 12 Ultimate Microsoft стирает грань между ПК и Xbox Series X, облегчая разработчикам игр адаптацию игр для каждой платформы.
VIDEODirectX 12 Ultimate использует основу DirectX 12 и включает несколько новых функций, появившихся за последние два года. В первую очередь это DirectX Raytracing 1.1; Поскольку все больше и больше игр используют трассировку лучей, DirectX 12 Ultimate изначально интегрирует эту функцию в Windows, а также в грядущую консоль Microsoft Xbox Series X.
DirectX 12 Ultimate сделает игры нового поколения невероятными.
DirectX 12 Ultimate также поддерживает затенение с переменной скоростью, что позволяет графическому процессору более эффективно использовать свои ресурсы для рендеринга объектов в фокусе, что приводит к более высокой частоте кадров и большей точности. Вы также получаете такие функции, как Sampler Feedback, которые улучшают качество текстур при меньшем использовании ресурсов, и в целом вы получаете набор изменений, которые должны сделать игры следующего поколения более плавными.
По сути, DirectX 12 Ultimate помогает разработчикам игр создавать более захватывающие игры с более качественными текстурами и реалистичным освещением, а благодаря этим функциям, встроенным в Windows, вы сразу же заметите разницу, если у вас есть видеокарта, которая работает с последней версией DirectX.
Приятно видеть дебют DirectX 12 Ultimate на Xbox Series X, но сначала он появится на ПК с Windows. Он уже распространяется на видеокарты NVIDIA серии GeForce RTX, и Microsoft заявляет, что технология будет на «миллионах» видеокарт, прежде чем ее консоль появится в конце этого года. Обязательно ознакомьтесь с нашим руководством по лучшим видеокартам, чтобы узнать о возможностях обновления и получить дополнительную информацию.
Совершенство RTX
MSI RTX 2060 Gaming Z 6G
Лучшее соотношение цены и качества для игр
RTX 2060 поддерживает трассировку лучей и NVIDIA DLSS и идеально подходит для игры в Death Stranding. Вы сможете без проблем играть в новейшие компьютерные игры в разрешении 1440p, а предлагаемая здесь ценность очень велика.
Мы можем получать комиссию за покупки по нашим ссылкам. Узнать больше.
Обнаружено древнее пасхальное яйцо Windows 1.0 с участием Гейба Ньюэлла
Как раз в тот момент, когда вы думали, что хранилища знаний старой Windows 1.0 исчерпаны, появляется новая запись. И это становится еще более захватывающим: этот конкретный самородок знаний содержит отсылку ни к кому иному, как к самому Гейбу Ньюэллу из Valve.
Присоединяйтесь к нам в прямом эфире для Windows Central Video Podcast сегодня в 13:30 по восточному времени
Сегодня в 13:30 по восточному времени мы в прямом эфире с подкастом Windows Central Video, обязательно будьте там!
Обзор: «Незнакомец из рая» не совсем правильно понял
Stranger of Paradise: Final Fantasy Origin – это игра, набитая возмутительными персонажами и потрясающими мемами, но этого недостаточно, чтобы передать общее впечатление.
Откройте для себя лучший ПК стоимостью менее 1000 долларов для геймеров и домашнего офиса
Сборка настольного компьютера может оказаться непростой задачей для новичков, так почему бы не пропустить весь процесс с уже готовым ПК? Мы выбрали лучшие настольные компьютеры стоимостью менее 1000 долларов США для геймеров и домашнего офиса.
Для среднего геймера разработка игр для ПК должна показаться сложным делом, потому что это так.
Для консолей у разработчиков есть один аппаратный набор для каждой марки (Xbox, PlayStation, Nintendo): один процессор, один графический чип, предопределенная память, параметры ввода и другие стандартные аппаратные компоненты.
Однако для ПК разработчики игр сталкиваются с бесконечным количеством аппаратных конфигураций. Заставить игры правильно работать на огромном количестве графических карт, материнских плат и т. д. — все равно, что вытащить кролика из шляпы фокусника.
Вот почему, судя по тому, что шептались в последнее десятилетие, разработчики толпились вокруг консолей: у них есть приличное дешевое оборудование, низкий уровень пиратства, а разработчики практически имеют прямой доступ к аппаратным компонентам при программировании своего программного обеспечения.
Последняя функция является ключевой, так как разработчики могут выжимать из аппаратного обеспечения каждую унцию производительности, а также использовать преимущества встроенных функций компонентов. Вот почему DirectX от Microsoft так важен для компьютерных игр.
Что такое DirectX?
Проще говоря, DirectX — это разработанное Microsoft программное обеспечение, взаимодействующее с аппаратными компонентами ПК.В частности, это набор интерфейсов прикладного программирования или API, предназначенных для решения задач, связанных с рендерингом 2D- и 3D-векторной графики, рендерингом видео и воспроизведением аудио на платформе Windows.
Nvidia: «Основная цель DX12 — обеспечить резкое увеличение визуального богатства за счет значительного снижения нагрузки на ЦП, связанную с API».
Он конкурирует с OpenGL, еще одним пакетом API, ориентированным на графику, представленным в 1992 году. Этот пакет с открытым исходным кодом постоянно разрабатывается технологическим консорциумом Khronos Group. И хотя OpenGL является кросс-платформенным API, у него нет того преимущества, что он является родным для платформы Windows.
DirectX впервые появился в Windows 95. В то время большинство игр для ПК запускались на старой платформе DOS, что позволяло разработчикам напрямую «общаться» с компонентами ПК, такими как звуковая карта, видеокарта, мышь и т. д. р>
Многие опытные игроки на ПК должны помнить старые времена, когда приходилось редактировать файлы Config.sys и Autoexec.bat, чтобы настроить правильную среду настроек, чтобы конкретная игра могла работать правильно (также были отредактированы IRQ и DMA, но это не так). другая история).
В Windows 95 не было такой прямой линии связи, пока Microsoft не разработала свой набор API-интерфейсов DirectX.
Поначалу DirectX не стал популярным, поскольку в то время разработчики в основном полагались на OpenGL и эффективно программировали в среде DOS. Пакет графических API от Microsoft со временем набрал обороты, как только разработчики поняли, что он никогда не исчезнет.
Таким образом, DirectX, по-видимому, вытеснил OpenGL с пути к тому времени, когда в 2002 году на игровую сцену для ПК вышла версия 9 (также известная как DX9). Скорее всего, Windows XP ускорила рост DirectX, поскольку эта платформа была очень стабильной и до сих пор Глобус. Планируется, что Windows 10 будет столь же популярной, и вместе с ней появится последняя версия серии DirectX — DirectX 12.
Что DX12 может сделать для вас (и ваших игр)
Недостаток DirectX до этого последнего выпуска заключался в том, что он по-прежнему не предоставлял «низкоуровневого» доступа к аппаратным компонентам, как на консолях. Чтобы решить эту проблему, AMD выпустила пакет Mantle API, чтобы разработчики могли лучше оптимизировать свое программное обеспечение для чипов AMD.
Мы не видим причин, по которым Microsoft должна поддерживать DX12 в более старых версиях Windows.
По сути, графические чипы стали такими же мощными, как и основной процессор, и взяли на себя вычислительные задачи, отличные от рендеринга графики.
Компания AMD Mantle позволила разработчикам использовать эту мощь в совместимых графических чипах Radeon. Казалось бы, Mantle была хорошо принята и отлично работала, но просуществовала недолго, так как Microsoft быстро выпустила версию DirectX, которая, наконец, предоставила разработчикам лучший доступ к оборудованию.
«В центре внимания DX12 — резкое увеличение визуального богатства за счет значительного снижения нагрузки на ЦП, связанной с API», — сказал в прошлом году Генри Мортон из Nvidia. «Исторически драйверы и программное обеспечение ОС управляли памятью, состоянием и синхронизацией от имени разработчиков. Однако неэффективность возникает из-за неполного понимания потребностей приложения. DX12 дает приложению возможность напрямую управлять ресурсами и состоянием, а также выполнять необходимую синхронизацию. . В результате разработчики продвинутых приложений могут эффективно управлять графическим процессором, используя свое глубокое знание поведения игры."
Поскольку на графический чип возлагается больше задач, главному процессору приходится выполнять меньше задач, поэтому игра не увязает в том, что происходит в фоновом режиме операционной системы. Чем больше ядер, тем лучше, а это означает, что процессор с двумя ядрами (то есть два процессора в одном корпусе) не так хорош, как процессор с четырьмя ядрами.
То же самое верно и для графического чипа, и вы можете получить прирост скорости, если установите в систему два одинаковых графических чипа (известных как SLI через Nvidia и CrossFire через AMD). С DirectX 12 производительность игр, скорее всего, возрастет, поскольку нагрузка будет распределяться между несколькими ядрами одновременно, а не сбрасываться на одно ядро за раз.
Это очень важно, так как DirectX 11 не использует преимущества нескольких ядер таким образом, поэтому одно ядро выполняет всю работу, а остальные остаются бездействующими. Дни с одним ядром ЦП и одним ядром графического процессора прошли в начале нулевых, и Microsoft, наконец, выходит на скорость с этим последним выпуском DirectX.
Посмотрите на это с другой стороны: компьютеры перешли от однополосной к восьмиполосной супермагистрали, что позволяет центральному процессору передавать команды рендеринга и вычислений графическому процессору быстрее, чем когда-либо прежде. Для геймера это означает более высокую частоту кадров и лучшее качество изображения.
Хотите DX12? Лучше установите Windows 10
Преимущество DirectX 12 в том, что это собственный API Windows 10. В свою очередь, Windows 10 используется на множестве устройств, от настольных компьютеров до ноутбуков, планшетов, телефонов и даже Xbox One.DirectX 12 также в некоторой степени обратно совместим, что позволяет геймерам на ПК играть в свои любимые игры, не вырывая свою видеокарту для новой «совместимой» модели (в большинстве случаев).
Если вам нужно более подробное объяснение трех ключевых областей DirectX 12, посетите блог Microsoft DirectX 12, написанный Мэттом Сэнди. Вкратце он описывает то, что называется представлением состояния конвейера, отправкой работы и доступом к ресурсам.
Он также предоставляет диаграмму, показывающую, что DirectX 12 обеспечивает 50-процентное улучшение использования ЦП по сравнению с DirectX 11 и лучшее распределение работы между несколькими последовательностями запрограммированных инструкций или потоков.
Хорошей новостью является то, что в ряде игр для ПК уже используются преимущества DirectX 12. К ним относятся Ashes of the Singularity, The Elder Scrolls Online, Rise of the Tomb Raider, Gears of War: Ultimate Edition и Хитмэн среди прочих. Ожидается, что Quantum Break будет поддерживать новый API, а также Deus Ex: Mankind Divided, Star Citizen, Forza Motorsport 6: Apex и некоторые другие.
Имейте в виду, что это очень упрощенное объяснение того, что DirectX 12 дает игровому столу ПК. По сути, этот API должен обеспечивать более высокую производительность в играх, которые его поддерживают, но это также означает, что разработчикам, скорее всего, придется выкладывать исправления, чтобы по возможности увеличить скорость своих игр до DirectX 12.
Поставщики графических процессоров AMD и Nvidia уже по колено поддерживают свои драйверы, поэтому это всего лишь вопрос времени, когда мы действительно увидим преимущества того, что предлагает DirectX 12.
Если вам еще предстоит выполнить обновление до Windows 10, DirectX 12 — прекрасная причина для этого. Мы также не видим причин для Microsoft поддерживать DX12 в более старых версиях Windows. Так что, если вы хотите играть в новейшие игры во всей их красе, у вас может и не быть выбора.
Опять же, учитывая, что это бесплатно и по сути представляет собой усовершенствованную Windows 7, переход не должен быть таким сложным, особенно во имя улучшения игр.
DirectX — это API или интерфейс прикладного программирования. Он действует как посредник между программным кодом видеоигр и аппаратным обеспечением, используемым для их воспроизведения. Без DirectX играть в видеоигры было бы не так безболезненно, как сегодня, но что такое DirectX и почему он так важен?
DirectX — это API, но что это такое?
Мы говорили, что API — это программное обеспечение, которое позволяет играм взаимодействовать с оборудованием, но это сильное упрощение. В конце концов, драйверы оборудования, взаимодействующие с операционной системой, тоже можно описать таким же образом.
API стандартизирует каталог команд и функций, которые разработчики игр могут запрашивать у компьютерного оборудования. Это программный слой между игрой и аппаратным обеспечением, который переводит два «языка», на которых говорят игра и аппаратное устройство.
Чтобы быть более точным, API взаимодействует с драйверами оборудования от имени игры, и, поскольку и игра, и драйверы оборудования были написаны для совместимости с DirectX, а не напрямую друг с другом, это означает, что взаимодействие происходит беспрепятственно.
Если вы хотите глубже изучить API, HDG объясняет: что такое API? отличное место для начала.
Старые недобрые времена до DirectX
Итак, мы установили, что DirectX — это API, который стоит между игрой и аппаратным обеспечением, которое ей необходимо для запуска, но почему видеоигра не может напрямую взаимодействовать с видеокартой, звуковой картой и т. д.?< /p>
Именно так и было. Во времена MS-DOS и на заре Windows видеоигры напрямую взаимодействовали с драйверами оборудования.
Проблема этого подхода заключается в том, что разработчику игры приходилось писать код для каждого отдельного продукта или семейства продуктов. Если вы сегодня играете в классическую игру MS-DOS, вы увидите записи о звуковых картах для таких брендов, как Creative SoundBlaster или AdLib.
Это были самые популярные бренды звуковых карт, поэтому разработчики игр могли охватить большинство клиентов, поддерживая их, но не всех. В конце концов, менее известные производители аппаратного обеспечения будут создавать продукты, совместимые с теми же драйверами, что и громкие имена. Вот почему в свое время мы получили так много карт, совместимых с Sound Blaster.
В результате, даже если у вас было наиболее широко поддерживаемое оборудование, не было никакой гарантии, что данная игра будет работать на вашем компьютере. DirectX решил эту проблему.
DirectX упрощает работу разработчиков и производителей оборудования
Каждая версия DirectX (до DirectX 12) устанавливает набор аппаратных и программных функций, которыми должно обладать совместимое оборудование. Другими словами, если вы хотите, чтобы ваша видеокарта была сертифицирована для работы с последней версией DirectX, в нее должен быть встроен минимальный набор возможностей.
После этого разработчики пишут свои игры так, чтобы они были совместимы не с конкретной видеокартой, а с самим DirectX. Другими словами, как производители оборудования, так и разработчики игр стандартизируют свои продукты для DirectX, и поэтому любая игра и аппаратный компонент, предназначенные для работы с определенной версией DirectX, гарантированно будут хорошо работать друг с другом.
DirectX — это «X» в Xbox
Всем известно, что двумя крупнейшими именами на рынке игровых консолей являются PlayStation и Xbox, но вы, возможно, не знаете, что первоначальное название последней было «DirectX Box».
Возможно, Microsoft решила сократить название к лучшему, но это также очень точное описание консоли. Первый Xbox был собран вместе с аппаратным обеспечением ПК и работал под управлением урезанной версии Windows и DirectX. Это верно и сегодня для последних консолей Xbox Series X и S.
Одним из больших преимуществ этого является то, что перенос игр между Xbox и ПК с Windows очень прост. Поскольку они фактически являются одной и той же платформой. Однако PlayStation и Nintendo Switch используют свои собственные API, что подводит нас к следующему важному факту о DirectX.
DirectX — не единственная игра в городе
Несмотря на то, что DirectX стал одним из наиболее важных и широко распространенных API, он далеко не единственный. Многие различные организации признали необходимость стандартизации. Хотя DirectX — это API, охватывающий все, от графики до игровых контроллеров, существуют также API, ориентированные только на один аспект, например на графику.
Когда в середине 90-х годов стала популярной первая 3D-видеокарта, возникла острая необходимость в графических API. Карты 3dFX Voodoo использовали проприетарный API Glide. OpenGL (Open Graphics Library) — это открытый стандарт, который остается популярным и сегодня и существует в своей современной форме как Vulkan. Кроме того, у Apple есть собственный Metal API для собственных устройств, и есть еще много других категорий устройств, таких как мобильные телефоны и планшеты.
Несмотря на то, что DirectX не полностью доминирует на рынке, на другие API влияет то, что Microsoft решила ввести в каждой версии DirectX. При этом они не диктуют всем остальным. Каждая версия DirectX создается в консультации со всеми заинтересованными сторонами, поэтому отношения кажутся более взаимными, чем можно было бы предположить.
DirectX — это не то, о чем вам нужно беспокоиться
Большой вопрос заключается в том, насколько вам, пользователю, нужно беспокоиться о DirectX. Раньше с более ранними версиями DirectX в старых системах Windows вам приходилось устанавливать DirectX вручную. Большую часть времени данная игра будет включать в себя минимальную версию DirectX, которая ей необходима. Если этот установщик обнаружит в системе более новую версию этого поколения DirectX, он просто ничего не установит.
Каждая версия DirectX (например, 9c, 11 и 12) уникальна, но Windows 10 поставляется с их предустановленными копиями. Ваши старые игры будут прекрасно работать на новом сверкающем компьютере с Windows 10.
Что гораздо важнее, так это выбор оборудования. Вы всегда можете обновить программное обеспечение или загрузить подходящее программное обеспечение, чтобы ретро-игры работали, но имеющееся у вас оборудование нельзя заменить без обновления или нового компьютера.
Соответствие оборудования DirectX
Каждое оборудование, имеющее отношение к видеоиграм или любому другому приложению, использующему подобную технологию, обычно совместимо с последней версией DirectX на момент ее выпуска.
Однако, если будет выпущена новая версия DirectX, есть вероятность, что ваше существующее оборудование может быть несовместимо, если в нем отсутствует аппаратная функция, необходимая для работы новой версии DirectX. Однако это не повод немедленно менять оборудование!
Всегда существует переходный период, когда игры поддерживают несколько версий DirectX. Например, в настоящее время игры обычно поддерживают как DirectX 11, так и DirectX 12.Однако, если вы ищете новое оборудование (особенно графические процессоры), рекомендуется купить что-то, совместимое с новейшей основной версией DirectX. Так как вы хотите, чтобы ваша новая покупка оставалась актуальной хотя бы несколько лет.
Заодно вы можете проверить, совместимо ли ваше новое оборудование с последними версиями других основных конкурирующих API, таких как Vulcan.
Сидни Батлер — социолог и фанатик технологий, пытающийся понять, как сосуществуют люди и технологии. Он имеет двадцатилетний опыт работы внештатным специалистом по компьютерам и более десяти лет в качестве исследователя и преподавателя технологий. Сидни уже более пяти лет является профессиональным писателем по технологиям и освещает такие темы, как виртуальная реальность, игры, кибербезопасность и трансгуманизм. Прочитать полную биографию Сидни
Понравился ли вам этот совет? Если это так, загляните на наш канал YouTube на нашем родственном сайте Online Tech Tips. Мы охватываем Windows, Mac, программное обеспечение и приложения, а также предлагаем множество советов по устранению неполадок и обучающих видеороликов. Нажмите кнопку ниже, чтобы подписаться!
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.
Этот подход помогает сократить количество вызовов отрисовки ЦП на сцену значительно, тем самым повышая уровень детализации.
Сетчатые шейдеры также облегчают отбраковку неиспользуемых треугольников. Это делается с помощью шейдера усиления. Он запускается перед шейдером сетки и определяет количество необходимых групп потоков шейдера сетки. Они проверяют различные сетки на предмет возможных пересечений и видимости на экране, а затем выполняют требуемую отбраковку. Отбор геометрии на этом раннем этапе рендеринга значительно повышает производительность. Вы можете прочитать больше здесь…
Шейдеры Mesh и Hull от NVIDIA также используют DX12
Очередь команд
В DirectX 11 к графическому процессору направляется только одна очередь. Это приводит к неравномерному распределению нагрузки между различными ядрами ЦП, что существенно снижает эффективность многопоточных ЦП.
Читайте также: