Hitman 5059
Аватар Evernews Evernews

Ведущий разработчик Hitman считает, что плюсы DirectX 12 проявятся только после отказа от DirectX 11

15
1
Поделиться
Телеграфировать

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

Ведущий разработчик Hitman считает, что плюсы DirectX 12 проявятся только после отказа от DirectX 11

Обозреватель WCCFTech побеседовал с Йонасом Мейером, старшим программистом Hitman, рассказавшем о том, действительно ли с помощью DirectX 12 можно добиться прироста производительности и сможем ли мы увидеть этот прирост в реальных играх.

Переключение Hitman на DirectX 12 позволило увеличить производительность на видеокартах AMD всего лишь на 10%. Вы планируете улучшить поддержку DirectX 12 или добавить какие-то новые функции в одном из следующих патчей, и если да, то какие?

Мы не планируем какие-либо обновления, связанные с DirectX 12. Прирост в 10% производительности связан с высокой нагрузкой на GPU, если бы игра сильнее нагружала CPU, то прирост был бы значительнее.

Видеокарты Nvidia показывают практически идентичную производительность в DirectX 11 и DirectX 12. На конференции GDC вы упоминали, что сотрудничаете с представителями Nvidia в вопросе оптимизации асинхронных вычислений - есть ли какие-то новости на этом фронте?

К сожалению, никаких новостей нет.

Асинхронные вычисления привлекли внимание PC-энтузиастов, особенно после того, как оказалось, что видеокарты Nvidia их практически не поддерживают. Однако в докладе на GDC вы говорили, что даже на видеокартах AMD использование асинхронных вычислений позволило поднять производительность всего на 5-10%, причем их было достаточно сложно оптимизировать. Можно ли сказать, что значение асинхронных вычислений переоценено? Как вы думаете, у Nvidia могут возникнуть проблемы, если поддержка асинхронных вычислений не появится в процессорах Pascal?

Основная проблема заключается в том, что в идеале вам нужна специальная оптимизация асинхронных вычислений под каждый конкретный GPU - их производительность и пропускная способность сильно различаются. Я не думаю, что значение асинхронных вычислений переоценено, но, очевидно, конечный результат может быть весьма различным. На данный момент асинхронные вычисления это довольно простой способ добиться лучшей производительности; в будущем, если GPU научатся эффективнее выполнять параллельные задания, прирост производительности может стать больше.

Сейчас начали выходить игры с поддержкой DirectX 12, однако прирост производительности в них далек от того, что обещала Microsoft (+20% к производительности GPU и +50% к производительности CPU). Как вы думаете, дело в неопытности разработчиков или в слишком оптимистичной оценке возможностей нового API?

Я думаю, все это займет какое-то время - и разработчикам драйверов, и разработчикам игр нужно освоиться. Сейчас нужно хорошо потрудиться просто для того, чтобы достичь уровня производительности DirectX 11. +50% к производительности CPU действительно можно получить, но это зависит и от вашей игры, и от драйвера, и от того, насколько хорошо они работают вместе.

Достичь 20% прироста производительности на GPU очень сложно, особенно когда есть команда, работающая над повышением производительности в режиме DirectX 11. Здесь нужно отметить, что мы делали прямой порт - после перехода на DirectX 12 появляются новые возможности, и здесь производительность действительно может увеличиться. Скорее всего мы не сможем использовать эти возможности, пока не откажемся от DirectX 11 - это потребовало бы фундаментальных изменений в нашем рендере.

Как вы думаете, могла ли увеличиться производительность Hitman в режиме DirectX 12, если бы игра изначально разрабатывалась только под это API?

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

Недавно состоялся релиз еще одного низкоуровневого API, Vulkan. Что вы думаете о нем с точки зрения возможностей и производительности, появится ли в Hitman поддержка Vulkan?

Vulkan относится к разряду влажных фантазий программистов: высокопроизводительное API вроде d3d12, работающее на всех платформах. Учитывая все это, у нас нет каких-то планов по поддержке Vulkan в Hitman. К сожалению, Vulkan, кажется, не будет работать на всех платформах.

И последний вопрос: что вы, как разработчик, думаете о UWP, универсальной платформе Windows?

Я не могу обсуждать UWP - я просто ничего о ней не знаю. Могу сказать, что мне нравится API Win32: оно хорошо документировано и работает.

Теги: Hitman, DirectX 12
Аватар Evernews
Evernews
8067 подписчиков