Есть ли смысл в DirectX 12? Разработчик игр делится мнением

Есть ли смысл в DirectX 12? Разработчик игр делится мнениемЮрген Катсман ( Jurjen Katsman), исполнительный директор разработчика игр Nixxes, рассказал о ряде проблем, с которыми столкнулась его компания при переходе с DirectX 11 на DirectX 12. Он сказал, что это вовсе не тривиальная задача, а весьма сложный процесс — создание кода, оптимизированного для DirectX 12, занимает много времени. Особенно в начале 2016, когда Nixxes стала одним из первых разработчиков игр, решивших реализовать поддержку DirectX 12, и столкнулась со множеством трудностей: отсутствующие инструменты отладки, неполная документация, а также проблемы с драйверами привела к задержке публикации обновлений с поддержкой DirectX 12 для обеих игр.

Даже сейчас, когда ситуация по всем перечисленным выше пунктам существенно улучшилась, всё равно осталось много моментов, которые негативно влияют на производительность и сложность. Например, управление памятью — особо проблемная область. Для DirectX 12 требуется больше памяти, чем DirectX 11, и превышение физического объема памяти видеоадаптера вызывает проблемы. Так как DirectX 12 — низкоуровневый API, то код необходимо тестировать на множестве аппаратных конфигураций, поскольку встречаются случаи падения производительности на некоторых конфигурациях (отличных от использовавшихся при разработке — разных ценовых категорий). Более того, выигрыш от использования DX12 может быть не так заметен при использовании высоких настроек, быстрых процессоров, или игре на высоких разрешениях.

Катсман также сказал, что будущее — определённо за асинхронными вычислениями, но на данный момент их использование даёт наиболее заметный результат на игровых консолях.

В другой презентации, разработчик из Ubisoft (Assassin’s Creed) тоже упомянул, что разработка под DX 12 — тяжёлый труд. Только лишь переход на эту версию API, без какой-либо оптимизации, приведёт к существенному падению производительности (в их случае — 200%, как указано на слайде).

Положительный эффект от DirectX 12 есть в случае SLI или Crossfire

Возможность использования нескольких графических адаптеров (Multi GPU) — одно из ключевых преимуществ DX12. Разработчики в целом довольны возможностями прямого управления в конфигурациях с несколькими адаптерами. Режим AFR (alternate frame rate) в драйвере (SLI и CrossFire в DirectX 11) приводит к непредсказуемым результатам, неэффективному расходу ресурсов основного процессора, а также слабо контролируем, уточнил Катсман. Более того, он сказал, что объединение памяти (memory stacking, использование всей памяти обоих видеоадаптеров, без повторения данных) не будет реализовано. Это непростая задача, а рынок не так велик, чтобы оправдать инвестиции (время и деньги) в решение этой проблемы.

Рост производительности до 10 %

Другой большой проблемой DirectX 12 является надутый пузырь ожиданий. Катсман говорит, что многие пользователи рассчитывают на приличный рост производительности, в то время как реальный рост не превысит 10%. Именно это, в сочетании с высокой трудоёмкостью создания качественно оптимизированного кода для DirectX 12, ставит вопрос ребром — а стоит ли DirectX 12 того? «Это хороший вопрос», отвечает Катсман, хотя он видит ответ скорее положительным. В конечном итоге, ожидания к DirectX 12 немного завышены. Создание кода для этого низкоуровневого API требует больших трудозатрат, а пользователям не стоит рассчитывать на существенный рост производительности.

This entry was posted in DirectX and tagged , . Bookmark the <a href="http://directxnew.ru/est-li-smysl-v-directx-12-razrabotchik-igr-delitsya-mneniem/" title="Permalink to Есть ли смысл в DirectX 12? Разработчик игр делится мнением" rel="bookmark">permalink</a>.

Comments are closed.