Лучшее  🚀
15.03.2016 в 20:27 Evernews

Как IO Interactive реализовывали поддержку DirectX 12 в Hitman

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

На сегодняшней презентации в рамках конференции Game Developers Conference разработчики Hitman рассказали о том, как реализовывалась поддержка DirectX 12 в движке Glacier.

Кстати, на сайте читать удобнее

Благодаря Стивену Сантане, обозревателю DualShockers, у нас есть слайды и ключевые моменты презентации.

В версии игры для DirectX 12 сотрудники IO Interactive надеялись уменьшить нагрузку и на CPU, и на GPU, однако столкнулись с некоторыми трудностями. Оказалось, что DirectX 12 использует множество временных объектов, для работы с которыми нужен быстрый многопоточный аллокатор; в IO Interactive создали решение, очень похожее на то, что используется в движке Naughty Dog (об этом рассказывалось на предыдущей GDC).

Асинхронные шейдеры, широко разрекламированные представителями AMD (в Hitman они используются для сглаживания и обработки освещения), действительно смогли улучшить производительность игры на 5-10%, но только на видеокартах AMD - сейчас разработчики вместе с производителями видеокарт пытаются решить эту проблему.

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

Вообще в IO Interactive не раз удивлялись тому, насколько осторожными нужно быть с DirectX 12. Разработчикам, например, постоянно приходилось думать о том, чтобы не выйти за границы видеопамяти - в этом случае DirectX 12 выгружал часть видеопамяти в оперативную память, что негативно сказывалось на производительности.

Было также обнаружено, что выгода от перехода на DirectX 12 уменьшается по мере увеличения разрешения картинки. На двух последних слайдах продемонстрировано соотношение времени, затраченного двумя видеокартами (к сожалению, они не были названы) на обработку одного кадра; по мере увеличения разрешения хорошо заметно падение производительности версии игры, использующей DirectX 12.

Читать далее