• Главная

Качество Hitman сравнили на DirectX 11 и DirectX 12 в новом видео. Чем директ 12 отличается от 11


Всё, что нужно знать о DirectX 12

Наверняка, многие уже предвкушают улучшение графики в своих компьютерных играх. Что же вам нужно знать о DX12.

Номер 10.

Кардинальное повышение вызовов прорисовки.

Что такое вызов прорисовки? Каждый раз, когда вершину, плоскость или ядро требуется отрендерить посылается вызов прорисовки на центральный процессор. DX12 делает эту работу менее требовательной для процессора, что позволяет повысить количество вызовов прорисовки. Это отлично, потому что на одном экране сможет поместиться значительно больше объектов. DX12 увеличит производительность в несколько раз.

Номер 9.

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

Вам может показаться, что это не так важно, но это не так – это действие буквально разрезает на две или четыре части количество пикселей, с которыми работает графический процессор.

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

Номер 8.

DX12, к сожалению, не повысит качества ваших нынешних игр.

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

Номер 7.

Поток выполнения значительно улучшен.

В блок-посте о DX12 Microsoft признали, что API DX11 обладает некоторыми ограничениями. Например, мультипоточность не так хорошо оптимизирована, в то время, как в DX12 мультипоточность полностью перекроили. Также он позволяет процессору использовать все его ядра для сообщения с видеокартой. Ранее это было совершенно невозможно, а процессоры использовали одно ядро для большинства графических задач. То есть вы увидите графику более высокого качества. Если на практике теория окажется верной, то частота кадров не изменится.

Номер 6.

Понижение нагрузки на центральный процессор.

Вы знаете, что центральный процессор занимается обсчетом искусственного интеллекта, а также физикой и спецэффектами. Поскольку искусственный интеллект, физика, и спецэффекты требуют серьёзных вычислений, обычно всем этим приходится загружать центральный процессор. Графический и центральный процессоры совершенно разные. Графический процессор обсчитывает геометрию, а центральный процессор делает все остальные виды вычислений. DX12 уменьшает нагрузку на все виды вычислений. Вы могли заметить, что развитие центральных процессоров замедлилось, а новые графические процессоры выходят все чаще. DX12 приспосабливается к этому, оптимизируя данные, которые отправляются на ЦП до их фактической отправки. Таким образом, нагрузка на центральный процессор снижается, и ЦП быстрее обрабатывает большое количество ИИ физики и спецэффектов.

Номер 5.

Смешение брендов и графических процессоров.

NVIDIA и AMD имеют некоторые значительные отличия. В принципе, и сейчас можно запускать игры на видео картах различных производителей одновременно, хотя это может стать проблемой. Как хорошо, это будет работать на вашем компьютере в первую очередь зависит о того, насколько хорошо оптимизирован движок. Есть вероятность того, что всё буде работать нормально, однако изначально не было какого-то единого стандарта, но API DX12 позволит без проблем работать с несколькими видеокартами различных производителей. В последствие, игра будет обладать всеми функциями, использующими одни и те же команды, т.е. графические карты будут работать практически или совсем бесшовно.

Номер 4.

Требования.

DX12 предназначен только для Windous10. То есть, чтобы наслаждаться улучшениями DX12, вам нужен Windous10. Также Вам, возможно, придется приобрести новую видеокарту. Видеокарты NVIDIA, поддерживающая DX12, основаны на архитектуре Кеплер (Keplar) или Максвелл (Maxwell). Это все карты серии 700 и старше. У AMD это видеокарта с графическим ядром нового поколения GCN, а также карты 2012 года серии HT-77, которая включает серию HD85, Radeon75 и так далее, все будущие карты от обоих производителей будут поддерживать DX12.

Номер 3.

Небольшой список игр, которые с выхода будут поддерживать все преимущества DX12.

Первой официальной игрой с поддержкой DX12 ,была Ashes of the Singularity. Также такую поддержку добавили в игры Rise of the Tomb Raider, Hitman, Gears of War Ultimate Edition, Total War Warhammer, а также Just Cause 3, The Elder Scrolls Online. Из новых игр поддержка будет в Deus Ex Mankind Divided и Star Citizen.

Номер 2.

DX12 значительно упростит процесс разработки.

Как я и говорил, API в DX12 куда проще, чем DX11. Он более сжатый и обладает меньшим количеством команд с похожими функциями. Будут ли разработчики использовать движок другого производителя, или же свой собственный, им нужно будет выполнять определенный графические действия, для чего используется определённый набор команд, то есть в какой-то степени это уменьшит объём работ в этом направлении. Помимо этого, он будет лучше распределять работу, которая потребует меньше затрат на оптимизацию в дальнейшем процессе разработки. Таким образом, разработка игр будет протекать более прямолинейно. Это позволит разработчикам сосредоточиться на творческой составляющей игры. Конечно же, процесс разработки игры проще не станет, поскольку на это по-прежнему требуется много знаний и умений, а также либо самостоятельные практики, либо обучение. Но чем больше времени разработчики будут уделять творческому процессу, тем лучше.

Номер 1.

У DX12 появился конкурент. AMD долгое время разрабатывали API под названием Vulkan, который является прямым потомком Open GL. ValveSoftware официально поддержали Vulkan и сказали, что AMD движутся в правильном направлении. Valve является довольно крупной компанией, и их словам вполне можно доверять. Однако, не забывайте, что как и у всякой компании, у Valve, вероятно, в этой свой собственный интерес в плане денег. Это не значит, что они не правы, но всё-таки это мнение, а которое могли повлиять деньги. Vulkan можно будет использовать на Андроиде, что подразумевает гораздо большую гибкость, чем у DX12. Но, учитывая, что технологию разрабатывают AMD, то вероятно, что они воспользуются этим для продвижения своего собственного железа. Всё-таки здесь крутятся огромные финансовые вложения.

Нам многое известно о Вулкане. Мы знаем, что представители Valve и AMD утверждают, что это – лучший выбор. В то время, как представители Microsoft говорят, что лучший выбор – это DX12. Но нам придется ждать, пока оба продукта не завершат свою конечную разработку, чтобы мы смогли по достоинству оценить обе технологии и понять, какая из них работает лучше. Ещё многое неясно, и участие Valve подразумевает задействование их базы фанатов, да и Microsoft, владеющая Xbox, обладает своей базой фанатов. Это вполне может стать горячей темой для обсуждения в интернете в ближайшем будущем.

К слову об обсуждениях в интернете. Что думаете Вы? Вы поддерживаете DX12, или Вы – Вулканец? Как вы считаете, что станет стандартом? Пишите нам почту [email protected], звоните 8-495-741-86-27.

it-sgroup.ru

чего ждать игрокам и разработчикам?

В общем, на вопрос «Где я могу скачать DirectX 12?» пока нет ответа. Есть только определенные перспективы относительно того, что новая версия API принесет разработчикам и нам, геймерам. А пока что анонс DirectX 12 следует рассматривать как сигнал, что активная работа по развитию DirectX продолжается. Ранее отсутствие видимой активности со стороны Microsoft довело до того, что некоторые уже вообще поставили под сомнение выход новых версий DirectX. Речь идет о прошлогоднем интервью Роя Тейлора, вице-президента AMD по продажам в «канале» (Roy Taylor, Vice President of Global Channel Sales), ресурсу heise.de. Хотя такие заявления следует принимать, как говорится, «со щепоткой соли», особенно в свете собственной инициативы AMD — Mantle. Как бы то ни было, Microsoft решила напомнить о DirectX и действовать.

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

Ожидается, что благодаря DirectX 12 эффективность использования CPU увеличится на 50% по сравнению с показателями DX11. По крайней мере такой результат получен с помощью закрытой версии 3DMark 2011, портированной на DX12. Microsoft называет несколько факторов, благодаря которым это стало возможным.

Многопоточное исполнение инструкций драйвера

Результаты профилирования того же бенчмарка демонстрируют более эффективное распределение нагрузки на CPU между несколькими потоками. На диаграмме видно, что на четыре потока теперь распределяются не только самой программы 3DMark, но и драйвера графической карты — речь о компоненте, исполняемом в User Mode.

Кроме того, если присмотреться к диаграмме, то можно заметить, что при использовании DirectX 12 пропадает компонент графического драйвера в Kernel Mode. Речь идет о низкоуровневой подсистеме Direct3D, которая включает менеджер видеопамяти, планировщик GPU, а также miniport driver, который производитель GPU должен предоставить для непосредственного доступа к функциям железа.

Предварительный обзор Microsoft DirectX 12: чего ждать игрокам и разработчикам?DirectX 11Предварительный обзор Microsoft DirectX 12: чего ждать игрокам и разработчикам?DirectX 12

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

Предварительный обзор Microsoft DirectX 12: чего ждать игрокам и разработчикам?

Pipeline State Objects

Кроме того, Microsoft непосредственно поработала над проблемой draw calls, которую столь успешно решает Mantle. Для этого потребовалась основательная переделка графического конвейера Direct3D. Здесь необходим небольшой ликбез относительно того, как выполняется рендеринг в Direct3D. Существует несколько стадий (stages) конвейера, которые на абстрактном уровне олицетворяют этапы подготовки изображения. Важно то, что стадии, вопреки тому, как это может показаться, не выполняются одна за другой в реальном времени. От runtime-компонента DirectX требуется определить состояние конвейера (pipeline state), представляющее собой совокупность состояний каждой из стадий, то есть параметры операций, которые выполняет GPU в процессе рендеринга, и ресурсы — данные, над которыми будут произведены операции (текстуры, вершины и так далее). Только когда все это собрано вместе, делается draw call — вызов, запускающий рендеринг объекта. И вот тогда miniport driver графического процессора, в свою очередь, транслирует pipeline state в набор инструкций для GPU на понятном ему языке (hardware state).

Предварительный обзор Microsoft DirectX 12: чего ждать игрокам и разработчикам?Предварительный обзор Microsoft DirectX 12: чего ждать игрокам и разработчикам?

Последний этап вносит свой вклад в общее время отрисовки объекта (напомним, эта и все вышеупомянутые процедуры все еще выполняются на CPU). А если объектов на экране много, то возникает пресловутая проблема draw calls, когда производительность CPU становится бутылочным горлышком. AMD Mantle, будучи низкоуровневым API, уменьшает время подготовки конвейера к отдаче draw call просто за счет отсутствия этапа трансляции pipeline state в hardware state. Хотя кто знает, какие еще оптимизации в Mantle включила AMD.

Direct3D 12 по-прежнему является высокоуровневым API, относительно безразличным к железу, на котором выполняется рендеринг (GPU только сообщает о поддерживаемых им функциях). В нем проблема решается по-другому. Вместо того чтобы передавать драйверу pipeline state целиком в момент draw call, состояния множества отдельных стадий конвейера объединены в несколько более крупных объектов которые формируются незавимисо и отдаются драйверу немедленно. Таким образом, не дожидаясь draw call, драйвер может сразу конвертировать PSO в аппаратные инструкции и чуть ли не отправить последние в регистры GPU (в источнике на MSDN этот момент не совсем понятен). Кроме того, укрупнение объектов, олицетворяющих состояния стадий конвейера, позволяет драйверу быстрее разрешать зависимости между последними. Если в процессе подготовки к draw call какой-либо из PSO поменялся, также требуется пересчитать только соответствующие инструкции, а не hardware state целиком.

Также не совсем ясно, почему именно раздельная репрезентация pipeline state должна привести к драматическому уменьшению времени подготовки к draw call. Так или иначе, на трансляцию pipeline state в hardware state все равно расходуется процессорное время. Возможно, ранняя подготовка отдельных PSO как-то поможет быстрее разрешать зависимости при подготовке hardware state, о чем пишут на MSDN. Может быть, преимущество будет получено за счет исполнения runtime-компонента Direct3D и драйвера GPU на разных потоках.

Command lists, bundles

DirectX 12 также представляет новую модель управления нагрузкой GPU с помощью списков команд (command lists). В модели DirectX 11 уже существует этот термин. API предоставляет два типа контекста устройства (device context): immediate context и deferred context. В первом случае команды непосредственно отправляются на драйвер GPU, во втором — записываются списки команд, которые затем могут воспроизводиться в immediate context. Нововведение DX12 состоит в том, что драйвер GPU в модели Direct3D 11 может заранее просчитывать низкоуровневые инструкции на основе различных списков команд.

В дополнение к спискам команд в Direct3D 12 появилась еще одна сущность — bundles. Bundle представляет собой набор команд, которые могут быть исполнены неоднократно в сочетании с различными ресурсами — к примеру, для рендеринга идентичных объектов с разной текстурой. В этом случае от драйвера требуется только один раз подготовить инструкции для GPU.

Совместимость, выводы

В отличие от предшествующих версий, DirectX 12 не потеряет совместимости с уже существующими GPU, поддерживающими DirectX 11. NVIDIA уже заявила, что DX12 будет принят процессорами на архитектуре Fermi, Kepler и Maxwell. AMD гарантирует совместимость для GPU на архитектуре GCN, Intel — для графики Iris и Iris Pro в чипах Haswell. DirectX 12 также ожидает портирование на Xbox One.

Впрочем, появилась информация о некоторых дополнительных функциях DirectX 12(*), которые все-таки потребуют аппаратных модификаций GPU. В целом эту неопределенность, вместе с долгим временем ожидания первых игр с поддержкой DirectX 12, можно рассматривать как знак того, что разработка API пока находится на весьма ранней стадии. В пользу данного предположения говорит и тематика оптимизации использования CPU, которая объединяет DX12 и AMD Mantle, представленный относительно недавно — осенью прошлого года.

Предварительный обзор Microsoft DirectX 12: чего ждать игрокам и разработчикам?

Естественно, что DirectX 12 бросает тень на будущее инициативы AMD, которая довольно успешно стартовала и набирает обороты, получая поддержку в популярных игровых движках (Frostbite 3, следующая версия CryEngine). Возможно, именно AMD мотивировала Microsoft тем, что привлекла внимание к недостаткам DirectX 11, но Mantle через полтора-два года уже перестанет быть единственным API, который дает возможность их избежать. При этом совместимость DirectX 12 не ограничивается видеоадаптерами на

infoportalru.ru

Качество Hitman сравнили на DirectX 11 и DirectX 12 в новом видео

Hitman Hitman

Перезагрузка Hitman стала одной из первых игр, которые поддерживают DirectX 12 с момента релиза. Поэтому для любителей графики грех было не сделать наглядное сравнение визуального оформления проекта студии IO Interactive на разных версиях графического API. Как стало известно Gamebomb.ru, на канале Candyland в сервисе YouTube появилось как раз такое сравнение.

«В данном видео мы сравнивали производительность и визуальные эффекты игры Hitman при использовании DirectX 11 и DirectX 12 на РС на максимальных настройках. Для сравнения использовалась видеокарта Nvidia GeForce GTX 980. Обращаем внимание, что никакой ошибки тут нет. Похоже, что видеокарты Nvidia действительно не делают особой разницы между версиями DirectX, в то время как продукция AMD демонстрирует серьезное улучшение картинки», — говорится в описании ролика.

Различия в демонстрируемой картинке рассмотреть смогут только самые зоркие. Впрочем, в сети уже долгие месяцы ведется полемика о том, что архитектура видеокарт AMD прекрасно подходит для последней версии графического API от Microsoft, в отличие от Nvidia. Как бы то ни было, нужно отметить, что DirectX 12 скорее увеличивает эффективность работы видеокарты, а не влияет на качество графики игры в целом.

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

Новости по теме:

gamebomb.ru


Смотрите также